// export WeaponY , WeaponP1 , WeaponP2 , WeaponZ , Center ; starting begin strings = false ;
   0: LD_ADDR_EXP 25
   4: PUSH
   5: LD_INT 0
   7: ST_TO_ADDR
// WeaponY = false ;
   8: LD_ADDR_EXP 1
  12: PUSH
  13: LD_INT 0
  15: ST_TO_ADDR
// WeaponZ = false ;
  16: LD_ADDR_EXP 4
  20: PUSH
  21: LD_INT 0
  23: ST_TO_ADDR
// WeaponP1 = false ;
  24: LD_ADDR_EXP 2
  28: PUSH
  29: LD_INT 0
  31: ST_TO_ADDR
// WeaponP2 = false ;
  32: LD_ADDR_EXP 3
  36: PUSH
  37: LD_INT 0
  39: ST_TO_ADDR
// resetfog ;
  40: CALL_OW 335
// enable ( 10 ) ;
  44: LD_INT 10
  46: ENABLE_MARKED
// PrepareRussians ;
  47: CALL 709 0 0
// InGameOn ;
  51: CALL_OW 8
// disable ( 100 ) ;
  55: LD_INT 100
  57: DISABLE_MARKED
// disable ( 1000 ) ;
  58: LD_INT 1000
  60: DISABLE_MARKED
// enable ( 65 ) ;
  61: LD_INT 65
  63: ENABLE_MARKED
// Center = 1 ;
  64: LD_ADDR_EXP 5
  68: PUSH
  69: LD_INT 1
  71: ST_TO_ADDR
// BigAttack = 0 ;
  72: LD_ADDR_EXP 21
  76: PUSH
  77: LD_INT 0
  79: ST_TO_ADDR
// z1 = 0 ;
  80: LD_ADDR_EXP 18
  84: PUSH
  85: LD_INT 0
  87: ST_TO_ADDR
// x1 = 0 ;
  88: LD_ADDR_EXP 16
  92: PUSH
  93: LD_INT 0
  95: ST_TO_ADDR
// y1 = 0 ;
  96: LD_ADDR_EXP 17
 100: PUSH
 101: LD_INT 0
 103: ST_TO_ADDR
// SetBName ( depotAM1 , base-Doc ) ;
 104: LD_INT 452
 106: PPUSH
 107: LD_STRING base-Doc
 109: PPUSH
 110: CALL_OW 500
// SetBName ( depotAM2 , base-Prod ) ;
 114: LD_INT 480
 116: PPUSH
 117: LD_STRING base-Prod
 119: PPUSH
 120: CALL_OW 500
// SetBName ( depotAM3 , base-fac ) ;
 124: LD_INT 10
 126: PPUSH
 127: LD_STRING base-fac
 129: PPUSH
 130: CALL_OW 500
// end ;
 134: END
// every 0 0$01 trigger IsInArea ( Nefarem , StartDialog ) do
 135: LD_EXP 7
 139: PPUSH
 140: LD_INT 19
 142: PPUSH
 143: CALL_OW 308
 147: IFFALSE 450
 149: GO 151
 151: DISABLE
// begin Center = 0 ;
 152: LD_ADDR_EXP 5
 156: PUSH
 157: LD_INT 0
 159: ST_TO_ADDR
// ComExitVehicle ( Nefarem ) ;
 160: LD_EXP 7
 164: PPUSH
 165: CALL_OW 121
// ChangeSideFog ( 4 , 1 ) ;
 169: LD_INT 4
 171: PPUSH
 172: LD_INT 1
 174: PPUSH
 175: CALL_OW 343
// Say ( Nefarem , A1 ) ;
 179: LD_EXP 7
 183: PPUSH
 184: LD_STRING A1
 186: PPUSH
 187: CALL_OW 88
// ComExitBuilding ( EngAM ) ;
 191: LD_EXP 14
 195: PPUSH
 196: CALL_OW 122
// ComExitBuilding ( UnitsInside ( factoryAM1 ) ) ;
 200: LD_INT 456
 202: PPUSH
 203: CALL_OW 313
 207: PPUSH
 208: CALL_OW 122
// Say ( EngAM , A2 ) ;
 212: LD_EXP 14
 216: PPUSH
 217: LD_STRING A2
 219: PPUSH
 220: CALL_OW 88
// Say ( Nefarem , A3 ) ;
 224: LD_EXP 7
 228: PPUSH
 229: LD_STRING A3
 231: PPUSH
 232: CALL_OW 88
// Say ( EngAM , A4 ) ;
 236: LD_EXP 14
 240: PPUSH
 241: LD_STRING A4
 243: PPUSH
 244: CALL_OW 88
// Say ( Nefarem , A5 ) ;
 248: LD_EXP 7
 252: PPUSH
 253: LD_STRING A5
 255: PPUSH
 256: CALL_OW 88
// CenterOnUnits ( depotAM1 ) ;
 260: LD_INT 452
 262: PPUSH
 263: CALL_OW 85
// Say ( EngAM , A6 ) ;
 267: LD_EXP 14
 271: PPUSH
 272: LD_STRING A6
 274: PPUSH
 275: CALL_OW 88
// Say ( EngAM , A7 ) ;
 279: LD_EXP 14
 283: PPUSH
 284: LD_STRING A7
 286: PPUSH
 287: CALL_OW 88
// PlaceUnitArea ( mechAM , areaMech , false ) ;
 291: LD_EXP 12
 295: PPUSH
 296: LD_INT 22
 298: PPUSH
 299: LD_INT 0
 301: PPUSH
 302: CALL_OW 49
// CenterOnUnits ( depotAM3 ) ;
 306: LD_INT 10
 308: PPUSH
 309: CALL_OW 85
// Say ( EngAM , A8 ) ;
 313: LD_EXP 14
 317: PPUSH
 318: LD_STRING A8
 320: PPUSH
 321: CALL_OW 88
// CenterOnUnits ( depotAM2 ) ;
 325: LD_INT 480
 327: PPUSH
 328: CALL_OW 85
// Say ( EngAM , A9 ) ;
 332: LD_EXP 14
 336: PPUSH
 337: LD_STRING A9
 339: PPUSH
 340: CALL_OW 88
// Say ( Nefarem , A10 ) ;
 344: LD_EXP 7
 348: PPUSH
 349: LD_STRING A10
 351: PPUSH
 352: CALL_OW 88
// SpawnVehiclesLeft ;
 356: CALL 5995 0 0
// SpawnVehiclesRight ;
 360: CALL 6726 0 0
// InGameOff ;
 364: CALL_OW 9
// SetSide ( FilterAllUnits ( [ f_side , 1 ] ) , 4 ) ;
 368: LD_INT 22
 370: PUSH
 371: LD_INT 1
 373: PUSH
 374: EMPTY
 375: LIST
 376: LIST
 377: PPUSH
 378: CALL_OW 69
 382: PPUSH
 383: LD_INT 4
 385: PPUSH
 386: CALL_OW 235
// SetSide ( AmericanPerson , 4 ) ;
 390: LD_EXP 6
 394: PPUSH
 395: LD_INT 4
 397: PPUSH
 398: CALL_OW 235
// ChangeMissionObjectives ( M1 ) ;
 402: LD_STRING M1
 404: PPUSH
 405: CALL_OW 337
// SaveForQuickRestart ;
 409: CALL_OW 22
// strings = true ;
 413: LD_ADDR_EXP 25
 417: PUSH
 418: LD_INT 1
 420: ST_TO_ADDR
// enable ( 100 ) ;
 421: LD_INT 100
 423: ENABLE_MARKED
// enable ( 1000 ) ;
 424: LD_INT 1000
 426: ENABLE_MARKED
// disable ( 10 ) ;
 427: LD_INT 10
 429: DISABLE_MARKED
// case query ( FirstQuery ) of 1 :
 430: LD_STRING FirstQuery
 432: PPUSH
 433: CALL_OW 97
 437: PUSH
 438: LD_INT 1
 440: DOUBLE
 441: EQUAL
 442: IFTRUE 446
 444: GO 449
 446: POP
// begin end ; end ;
 447: GO 450
 449: POP
// end ;
 450: END
// every 0 0$01 trigger GetTech ( tech_Weap2 , 4 ) = state_researched and IsLive ( DocAM ) do
 451: LD_INT 52
 453: PPUSH
 454: LD_INT 4
 456: PPUSH
 457: CALL_OW 321
 461: PUSH
 462: LD_INT 2
 464: EQUAL
 465: PUSH
 466: LD_EXP 13
 470: PPUSH
 471: CALL_OW 300
 475: AND
 476: IFFALSE 548
 478: GO 480
 480: DISABLE
// begin SayRadio ( DocAM , C1 ) ;
 481: LD_EXP 13
 485: PPUSH
 486: LD_STRING C1
 488: PPUSH
 489: CALL_OW 94
// SayRadio ( Nefarem , C2 ) ;
 493: LD_EXP 7
 497: PPUSH
 498: LD_STRING C2
 500: PPUSH
 501: CALL_OW 94
// ChangeMissionObjectives ( M3 ) ;
 505: LD_STRING M3
 507: PPUSH
 508: CALL_OW 337
// case query ( HGquery ) of 1 :
 512: LD_STRING HGquery
 514: PPUSH
 515: CALL_OW 97
 519: PUSH
 520: LD_INT 1
 522: DOUBLE
 523: EQUAL
 524: IFTRUE 528
 526: GO 531
 528: POP
// begin end ; end ;
 529: GO 532
 531: POP
// WeaponY = true ;
 532: LD_ADDR_EXP 1
 536: PUSH
 537: LD_INT 1
 539: ST_TO_ADDR
// WeaponZ = true ;
 540: LD_ADDR_EXP 4
 544: PUSH
 545: LD_INT 1
 547: ST_TO_ADDR
// end ;
 548: END
// every 0 0$05 do
 549: GO 551
 551: DISABLE
// begin enable ;
 552: ENABLE
// if WeaponY = true and IsInArea ( DocAM , BaseYTechnology ) then
 553: LD_EXP 1
 557: PUSH
 558: LD_INT 1
 560: EQUAL
 561: PUSH
 562: LD_EXP 13
 566: PPUSH
 567: LD_INT 20
 569: PPUSH
 570: CALL_OW 308
 574: AND
 575: IFFALSE 607
// begin Say ( docAM , D1 ) ;
 577: LD_EXP 13
 581: PPUSH
 582: LD_STRING D1
 584: PPUSH
 585: CALL_OW 88
// WeaponP1 = true ;
 589: LD_ADDR_EXP 2
 593: PUSH
 594: LD_INT 1
 596: ST_TO_ADDR
// WeaponY = false ;
 597: LD_ADDR_EXP 1
 601: PUSH
 602: LD_INT 0
 604: ST_TO_ADDR
// end else
 605: GO 659
// if WeaponZ = true and IsInArea ( DocAM , BaseZTechnology ) then
 607: LD_EXP 4
 611: PUSH
 612: LD_INT 1
 614: EQUAL
 615: PUSH
 616: LD_EXP 13
 620: PPUSH
 621: LD_INT 21
 623: PPUSH
 624: CALL_OW 308
 628: AND
 629: IFFALSE 659
// begin Say ( docAM , D1 ) ;
 631: LD_EXP 13
 635: PPUSH
 636: LD_STRING D1
 638: PPUSH
 639: CALL_OW 88
// WeaponP2 = true ;
 643: LD_ADDR_EXP 3
 647: PUSH
 648: LD_INT 1
 650: ST_TO_ADDR
// WeaponZ = false ;
 651: LD_ADDR_EXP 4
 655: PUSH
 656: LD_INT 0
 658: ST_TO_ADDR
// end ; end ;
 659: END
// every 0 0$01 trigger WeaponP1 = true and WeaponP2 = true do
 660: LD_EXP 2
 664: PUSH
 665: LD_INT 1
 667: EQUAL
 668: PUSH
 669: LD_EXP 3
 673: PUSH
 674: LD_INT 1
 676: EQUAL
 677: AND
 678: IFFALSE 708
 680: GO 682
 682: DISABLE
// begin Say ( docAM , D3 ) ;
 683: LD_EXP 13
 687: PPUSH
 688: LD_STRING D3
 690: PPUSH
 691: CALL_OW 88
// SetTech ( tech_AdvMet , 4 , state_enabled ) ;
 695: LD_INT 34
 697: PPUSH
 698: LD_INT 4
 700: PPUSH
 701: LD_INT 1
 703: PPUSH
 704: CALL_OW 322
// end ; end_of_file
 708: END
// export AmericanPerson ; export function PrepareRussians ; var MedVar , MedValue , Ru1_turrets , Ru2_turrets , Am1_turrets , i , un , l , SolLevel , EngLevel , MechLevel , DocLevel ; begin
 709: LD_INT 0
 711: PPUSH
 712: PPUSH
 713: PPUSH
 714: PPUSH
 715: PPUSH
 716: PPUSH
 717: PPUSH
 718: PPUSH
 719: PPUSH
 720: PPUSH
 721: PPUSH
 722: PPUSH
 723: PPUSH
// MedVar := LoadVariable ( medal_variable , 0 ) ;
 724: LD_ADDR_VAR 0 2
 728: PUSH
 729: LD_STRING medal_variable
 731: PPUSH
 732: LD_INT 0
 734: PPUSH
 735: CALL_OW 30
 739: ST_TO_ADDR
// if MedVar = 1 then
 740: LD_VAR 0 2
 744: PUSH
 745: LD_INT 1
 747: EQUAL
 748: IFFALSE 760
// begin MedValue = 0 ;
 750: LD_ADDR_VAR 0 3
 754: PUSH
 755: LD_INT 0
 757: ST_TO_ADDR
// end else
 758: GO 778
// if MedVar = 2 then
 760: LD_VAR 0 2
 764: PUSH
 765: LD_INT 2
 767: EQUAL
 768: IFFALSE 778
// begin MedValue = 2 ;
 770: LD_ADDR_VAR 0 3
 774: PUSH
 775: LD_INT 2
 777: ST_TO_ADDR
// end ; SolLevel := [ 6 , 6 , 7 ] [ Difficulty ] ;
 778: LD_ADDR_VAR 0 10
 782: PUSH
 783: LD_INT 6
 785: PUSH
 786: LD_INT 6
 788: PUSH
 789: LD_INT 7
 791: PUSH
 792: EMPTY
 793: LIST
 794: LIST
 795: LIST
 796: PUSH
 797: LD_OWVAR 67
 801: ARRAY
 802: ST_TO_ADDR
// EngLevel := [ 6 , 7 , 8 ] [ Difficulty ] ;
 803: LD_ADDR_VAR 0 11
 807: PUSH
 808: LD_INT 6
 810: PUSH
 811: LD_INT 7
 813: PUSH
 814: LD_INT 8
 816: PUSH
 817: EMPTY
 818: LIST
 819: LIST
 820: LIST
 821: PUSH
 822: LD_OWVAR 67
 826: ARRAY
 827: ST_TO_ADDR
// MechLevel := [ 5 , 6 , 7 ] [ Difficulty ] ;
 828: LD_ADDR_VAR 0 12
 832: PUSH
 833: LD_INT 5
 835: PUSH
 836: LD_INT 6
 838: PUSH
 839: LD_INT 7
 841: PUSH
 842: EMPTY
 843: LIST
 844: LIST
 845: LIST
 846: PUSH
 847: LD_OWVAR 67
 851: ARRAY
 852: ST_TO_ADDR
// DocLevel := [ 5 , 5 , 6 ] [ Difficulty ] ;
 853: LD_ADDR_VAR 0 13
 857: PUSH
 858: LD_INT 5
 860: PUSH
 861: LD_INT 5
 863: PUSH
 864: LD_INT 6
 866: PUSH
 867: EMPTY
 868: LIST
 869: LIST
 870: LIST
 871: PUSH
 872: LD_OWVAR 67
 876: ARRAY
 877: ST_TO_ADDR
// Ru1_turrets := FilterAllUnits ( [ [ f_side , 3 ] , [ f_btype , b_bunker ] ] ) ^ FilterAllUnits ( [ [ f_side , 3 ] , [ f_btype , b_breastwork ] ] ) ;
 878: LD_ADDR_VAR 0 4
 882: PUSH
 883: LD_INT 22
 885: PUSH
 886: LD_INT 3
 888: PUSH
 889: EMPTY
 890: LIST
 891: LIST
 892: PUSH
 893: LD_INT 30
 895: PUSH
 896: LD_INT 32
 898: PUSH
 899: EMPTY
 900: LIST
 901: LIST
 902: PUSH
 903: EMPTY
 904: LIST
 905: LIST
 906: PPUSH
 907: CALL_OW 69
 911: PUSH
 912: LD_INT 22
 914: PUSH
 915: LD_INT 3
 917: PUSH
 918: EMPTY
 919: LIST
 920: LIST
 921: PUSH
 922: LD_INT 30
 924: PUSH
 925: LD_INT 31
 927: PUSH
 928: EMPTY
 929: LIST
 930: LIST
 931: PUSH
 932: EMPTY
 933: LIST
 934: LIST
 935: PPUSH
 936: CALL_OW 69
 940: ADD
 941: ST_TO_ADDR
// hc_basic_skills = [ Rand ( 0 , 2 ) , Rand ( 0 , 2 ) , Rand ( 0 , 2 ) , Rand ( 0 , 2 ) ] ;
 942: LD_ADDR_OWVAR 30
 946: PUSH
 947: LD_INT 0
 949: PPUSH
 950: LD_INT 2
 952: PPUSH
 953: CALL_OW 12
 957: PUSH
 958: LD_INT 0
 960: PPUSH
 961: LD_INT 2
 963: PPUSH
 964: CALL_OW 12
 968: PUSH
 969: LD_INT 0
 971: PPUSH
 972: LD_INT 2
 974: PPUSH
 975: CALL_OW 12
 979: PUSH
 980: LD_INT 0
 982: PPUSH
 983: LD_INT 2
 985: PPUSH
 986: CALL_OW 12
 990: PUSH
 991: EMPTY
 992: LIST
 993: LIST
 994: LIST
 995: LIST
 996: ST_TO_ADDR
// hc_importance = 0 ;
 997: LD_ADDR_OWVAR 32
1001: PUSH
1002: LD_INT 0
1004: ST_TO_ADDR
// for i in Ru1_Turrets do
1005: LD_ADDR_VAR 0 7
1009: PUSH
1010: LD_VAR 0 4
1014: PUSH
1015: FOR_IN
1016: IFFALSE 1195
// begin if IsInUnit ( i ) = 0 then
1018: LD_VAR 0 7
1022: PPUSH
1023: CALL_OW 310
1027: PUSH
1028: LD_INT 0
1030: EQUAL
1031: IFFALSE 1193
// begin uc_side = 3 ;
1033: LD_ADDR_OWVAR 20
1037: PUSH
1038: LD_INT 3
1040: ST_TO_ADDR
// uc_nation = 3 ;
1041: LD_ADDR_OWVAR 21
1045: PUSH
1046: LD_INT 3
1048: ST_TO_ADDR
// hc_gallery =  ;
1049: LD_ADDR_OWVAR 33
1053: PUSH
1054: LD_STRING 
1056: ST_TO_ADDR
// hc_name =  ;
1057: LD_ADDR_OWVAR 26
1061: PUSH
1062: LD_STRING 
1064: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
1065: LD_ADDR_OWVAR 29
1069: PUSH
1070: LD_INT 9
1072: PPUSH
1073: LD_INT 11
1075: PPUSH
1076: CALL_OW 12
1080: PUSH
1081: LD_INT 10
1083: PPUSH
1084: LD_INT 12
1086: PPUSH
1087: CALL_OW 12
1091: PUSH
1092: EMPTY
1093: LIST
1094: LIST
1095: ST_TO_ADDR
// hc_skills = [ SolLevel , Rand ( 1 , 5 ) , Rand ( 2 , 5 ) , Rand ( 0 , 4 ) ] ;
1096: LD_ADDR_OWVAR 31
1100: PUSH
1101: LD_VAR 0 10
1105: PUSH
1106: LD_INT 1
1108: PPUSH
1109: LD_INT 5
1111: PPUSH
1112: CALL_OW 12
1116: PUSH
1117: LD_INT 2
1119: PPUSH
1120: LD_INT 5
1122: PPUSH
1123: CALL_OW 12
1127: PUSH
1128: LD_INT 0
1130: PPUSH
1131: LD_INT 4
1133: PPUSH
1134: CALL_OW 12
1138: PUSH
1139: EMPTY
1140: LIST
1141: LIST
1142: LIST
1143: LIST
1144: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1145: LD_ADDR_OWVAR 27
1149: PUSH
1150: LD_INT 1
1152: PPUSH
1153: LD_INT 2
1155: PPUSH
1156: CALL_OW 12
1160: ST_TO_ADDR
// hc_class = 1 ;
1161: LD_ADDR_OWVAR 28
1165: PUSH
1166: LD_INT 1
1168: ST_TO_ADDR
// un := CreateHuman ;
1169: LD_ADDR_VAR 0 8
1173: PUSH
1174: CALL_OW 44
1178: ST_TO_ADDR
// PlaceHumanInUnit ( un , i ) ;
1179: LD_VAR 0 8
1183: PPUSH
1184: LD_VAR 0 7
1188: PPUSH
1189: CALL_OW 52
// end ; end ;
1193: GO 1015
1195: POP
1196: POP
// Am1_turrets := FilterAllUnits ( [ [ f_side , 1 ] , [ f_btype , b_bunker ] ] ) ^ FilterAllUnits ( [ [ f_side , 1 ] , [ f_btype , b_breastwork ] ] ) ;
1197: LD_ADDR_VAR 0 6
1201: PUSH
1202: LD_INT 22
1204: PUSH
1205: LD_INT 1
1207: PUSH
1208: EMPTY
1209: LIST
1210: LIST
1211: PUSH
1212: LD_INT 30
1214: PUSH
1215: LD_INT 32
1217: PUSH
1218: EMPTY
1219: LIST
1220: LIST
1221: PUSH
1222: EMPTY
1223: LIST
1224: LIST
1225: PPUSH
1226: CALL_OW 69
1230: PUSH
1231: LD_INT 22
1233: PUSH
1234: LD_INT 1
1236: PUSH
1237: EMPTY
1238: LIST
1239: LIST
1240: PUSH
1241: LD_INT 30
1243: PUSH
1244: LD_INT 31
1246: PUSH
1247: EMPTY
1248: LIST
1249: LIST
1250: PUSH
1251: EMPTY
1252: LIST
1253: LIST
1254: PPUSH
1255: CALL_OW 69
1259: ADD
1260: ST_TO_ADDR
// for i in Am1_turrets do
1261: LD_ADDR_VAR 0 7
1265: PUSH
1266: LD_VAR 0 6
1270: PUSH
1271: FOR_IN
1272: IFFALSE 1477
// begin if IsInUnit ( i ) = 0 then
1274: LD_VAR 0 7
1278: PPUSH
1279: CALL_OW 310
1283: PUSH
1284: LD_INT 0
1286: EQUAL
1287: IFFALSE 1475
// begin uc_side = 1 ;
1289: LD_ADDR_OWVAR 20
1293: PUSH
1294: LD_INT 1
1296: ST_TO_ADDR
// uc_nation = 1 ;
1297: LD_ADDR_OWVAR 21
1301: PUSH
1302: LD_INT 1
1304: ST_TO_ADDR
// hc_gallery =  ;
1305: LD_ADDR_OWVAR 33
1309: PUSH
1310: LD_STRING 
1312: ST_TO_ADDR
// hc_name =  ;
1313: LD_ADDR_OWVAR 26
1317: PUSH
1318: LD_STRING 
1320: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
1321: LD_ADDR_OWVAR 29
1325: PUSH
1326: LD_INT 9
1328: PPUSH
1329: LD_INT 11
1331: PPUSH
1332: CALL_OW 12
1336: PUSH
1337: LD_INT 10
1339: PPUSH
1340: LD_INT 12
1342: PPUSH
1343: CALL_OW 12
1347: PUSH
1348: EMPTY
1349: LIST
1350: LIST
1351: ST_TO_ADDR
// hc_skills = [ 6 - Rand ( 0 , 2 ) , Rand ( 0 , 3 ) , Rand ( 0 , 3 ) , Rand ( 0 , 2 ) ] ;
1352: LD_ADDR_OWVAR 31
1356: PUSH
1357: LD_INT 6
1359: PUSH
1360: LD_INT 0
1362: PPUSH
1363: LD_INT 2
1365: PPUSH
1366: CALL_OW 12
1370: MINUS
1371: PUSH
1372: LD_INT 0
1374: PPUSH
1375: LD_INT 3
1377: PPUSH
1378: CALL_OW 12
1382: PUSH
1383: LD_INT 0
1385: PPUSH
1386: LD_INT 3
1388: PPUSH
1389: CALL_OW 12
1393: PUSH
1394: LD_INT 0
1396: PPUSH
1397: LD_INT 2
1399: PPUSH
1400: CALL_OW 12
1404: PUSH
1405: EMPTY
1406: LIST
1407: LIST
1408: LIST
1409: LIST
1410: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1411: LD_ADDR_OWVAR 27
1415: PUSH
1416: LD_INT 1
1418: PPUSH
1419: LD_INT 2
1421: PPUSH
1422: CALL_OW 12
1426: ST_TO_ADDR
// hc_class = 1 ;
1427: LD_ADDR_OWVAR 28
1431: PUSH
1432: LD_INT 1
1434: ST_TO_ADDR
// un := CreateHuman ;
1435: LD_ADDR_VAR 0 8
1439: PUSH
1440: CALL_OW 44
1444: ST_TO_ADDR
// PlaceHumanInUnit ( un , i ) ;
1445: LD_VAR 0 8
1449: PPUSH
1450: LD_VAR 0 7
1454: PPUSH
1455: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
1459: LD_ADDR_EXP 6
1463: PUSH
1464: LD_EXP 6
1468: PUSH
1469: LD_VAR 0 8
1473: ADD
1474: ST_TO_ADDR
// end ; end ;
1475: GO 1271
1477: POP
1478: POP
// for i in depotRU1 do
1479: LD_ADDR_VAR 0 7
1483: PUSH
1484: LD_INT 57
1486: PUSH
1487: FOR_IN
1488: IFFALSE 1697
// begin l = 0 ;
1490: LD_ADDR_VAR 0 9
1494: PUSH
1495: LD_INT 0
1497: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
1498: LD_VAR 0 7
1502: PPUSH
1503: CALL_OW 310
1507: PUSH
1508: LD_INT 0
1510: EQUAL
1511: IFFALSE 1695
// begin repeat begin uc_side = 3 ;
1513: LD_ADDR_OWVAR 20
1517: PUSH
1518: LD_INT 3
1520: ST_TO_ADDR
// uc_nation = 3 ;
1521: LD_ADDR_OWVAR 21
1525: PUSH
1526: LD_INT 3
1528: ST_TO_ADDR
// hc_gallery =  ;
1529: LD_ADDR_OWVAR 33
1533: PUSH
1534: LD_STRING 
1536: ST_TO_ADDR
// hc_name =  ;
1537: LD_ADDR_OWVAR 26
1541: PUSH
1542: LD_STRING 
1544: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
1545: LD_ADDR_OWVAR 29
1549: PUSH
1550: LD_INT 9
1552: PPUSH
1553: LD_INT 11
1555: PPUSH
1556: CALL_OW 12
1560: PUSH
1561: LD_INT 10
1563: PPUSH
1564: LD_INT 12
1566: PPUSH
1567: CALL_OW 12
1571: PUSH
1572: EMPTY
1573: LIST
1574: LIST
1575: ST_TO_ADDR
// hc_skills = [ Rand ( 1 , 3 ) , EngLevel , Rand ( 2 , 4 ) , Rand ( 0 , 3 ) ] ;
1576: LD_ADDR_OWVAR 31
1580: PUSH
1581: LD_INT 1
1583: PPUSH
1584: LD_INT 3
1586: PPUSH
1587: CALL_OW 12
1591: PUSH
1592: LD_VAR 0 11
1596: PUSH
1597: LD_INT 2
1599: PPUSH
1600: LD_INT 4
1602: PPUSH
1603: CALL_OW 12
1607: PUSH
1608: LD_INT 0
1610: PPUSH
1611: LD_INT 3
1613: PPUSH
1614: CALL_OW 12
1618: PUSH
1619: EMPTY
1620: LIST
1621: LIST
1622: LIST
1623: LIST
1624: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1625: LD_ADDR_OWVAR 27
1629: PUSH
1630: LD_INT 1
1632: PPUSH
1633: LD_INT 2
1635: PPUSH
1636: CALL_OW 12
1640: ST_TO_ADDR
// hc_class = 2 ;
1641: LD_ADDR_OWVAR 28
1645: PUSH
1646: LD_INT 2
1648: ST_TO_ADDR
// un = CreateHuman ;
1649: LD_ADDR_VAR 0 8
1653: PUSH
1654: CALL_OW 44
1658: ST_TO_ADDR
// PlaceHumanInUnit ( un , depotRU1 ) ;
1659: LD_VAR 0 8
1663: PPUSH
1664: LD_INT 57
1666: PPUSH
1667: CALL_OW 52
// l = l + 1 ;
1671: LD_ADDR_VAR 0 9
1675: PUSH
1676: LD_VAR 0 9
1680: PUSH
1681: LD_INT 1
1683: PLUS
1684: ST_TO_ADDR
// end until l = 3 ;
1685: LD_VAR 0 9
1689: PUSH
1690: LD_INT 3
1692: EQUAL
1693: IFFALSE 1513
// end ; end ;
1695: GO 1487
1697: POP
1698: POP
// for i in depotAM1 do
1699: LD_ADDR_VAR 0 7
1703: PUSH
1704: LD_INT 452
1706: PUSH
1707: FOR_IN
1708: IFFALSE 1943
// begin l = 0 ;
1710: LD_ADDR_VAR 0 9
1714: PUSH
1715: LD_INT 0
1717: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
1718: LD_VAR 0 7
1722: PPUSH
1723: CALL_OW 310
1727: PUSH
1728: LD_INT 0
1730: EQUAL
1731: IFFALSE 1941
// begin repeat begin randomize ;
1733: CALL_OW 10
// uc_side = 1 ;
1737: LD_ADDR_OWVAR 20
1741: PUSH
1742: LD_INT 1
1744: ST_TO_ADDR
// uc_nation = 1 ;
1745: LD_ADDR_OWVAR 21
1749: PUSH
1750: LD_INT 1
1752: ST_TO_ADDR
// hc_gallery =  ;
1753: LD_ADDR_OWVAR 33
1757: PUSH
1758: LD_STRING 
1760: ST_TO_ADDR
// hc_name =  ;
1761: LD_ADDR_OWVAR 26
1765: PUSH
1766: LD_STRING 
1768: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
1769: LD_ADDR_OWVAR 29
1773: PUSH
1774: LD_INT 9
1776: PPUSH
1777: LD_INT 11
1779: PPUSH
1780: CALL_OW 12
1784: PUSH
1785: LD_INT 10
1787: PPUSH
1788: LD_INT 12
1790: PPUSH
1791: CALL_OW 12
1795: PUSH
1796: EMPTY
1797: LIST
1798: LIST
1799: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1800: LD_ADDR_OWVAR 27
1804: PUSH
1805: LD_INT 1
1807: PPUSH
1808: LD_INT 2
1810: PPUSH
1811: CALL_OW 12
1815: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 4 ) , Rand ( 5 , 6 ) , Rand ( 0 , 3 ) , Rand ( 0 , 1 ) ] ;
1816: LD_ADDR_OWVAR 31
1820: PUSH
1821: LD_INT 0
1823: PPUSH
1824: LD_INT 4
1826: PPUSH
1827: CALL_OW 12
1831: PUSH
1832: LD_INT 5
1834: PPUSH
1835: LD_INT 6
1837: PPUSH
1838: CALL_OW 12
1842: PUSH
1843: LD_INT 0
1845: PPUSH
1846: LD_INT 3
1848: PPUSH
1849: CALL_OW 12
1853: PUSH
1854: LD_INT 0
1856: PPUSH
1857: LD_INT 1
1859: PPUSH
1860: CALL_OW 12
1864: PUSH
1865: EMPTY
1866: LIST
1867: LIST
1868: LIST
1869: LIST
1870: ST_TO_ADDR
// hc_class = 2 ;
1871: LD_ADDR_OWVAR 28
1875: PUSH
1876: LD_INT 2
1878: ST_TO_ADDR
// un = CreateHuman ;
1879: LD_ADDR_VAR 0 8
1883: PUSH
1884: CALL_OW 44
1888: ST_TO_ADDR
// PlaceHumanInUnit ( un , depotAM1 ) ;
1889: LD_VAR 0 8
1893: PPUSH
1894: LD_INT 452
1896: PPUSH
1897: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
1901: LD_ADDR_EXP 6
1905: PUSH
1906: LD_EXP 6
1910: PUSH
1911: LD_VAR 0 8
1915: ADD
1916: ST_TO_ADDR
// l = l + 1 ;
1917: LD_ADDR_VAR 0 9
1921: PUSH
1922: LD_VAR 0 9
1926: PUSH
1927: LD_INT 1
1929: PLUS
1930: ST_TO_ADDR
// end until l = 1 ;
1931: LD_VAR 0 9
1935: PUSH
1936: LD_INT 1
1938: EQUAL
1939: IFFALSE 1733
// end ; end ;
1941: GO 1707
1943: POP
1944: POP
// for i in depotAM2 do
1945: LD_ADDR_VAR 0 7
1949: PUSH
1950: LD_INT 480
1952: PUSH
1953: FOR_IN
1954: IFFALSE 2125
// begin if IsInUnit ( i ) = 0 then
1956: LD_VAR 0 7
1960: PPUSH
1961: CALL_OW 310
1965: PUSH
1966: LD_INT 0
1968: EQUAL
1969: IFFALSE 2123
// begin randomize ;
1971: CALL_OW 10
// uc_side = 1 ;
1975: LD_ADDR_OWVAR 20
1979: PUSH
1980: LD_INT 1
1982: ST_TO_ADDR
// uc_nation = 1 ;
1983: LD_ADDR_OWVAR 21
1987: PUSH
1988: LD_INT 1
1990: ST_TO_ADDR
// hc_gallery =  ;
1991: LD_ADDR_OWVAR 33
1995: PUSH
1996: LD_STRING 
1998: ST_TO_ADDR
// hc_name =  ;
1999: LD_ADDR_OWVAR 26
2003: PUSH
2004: LD_STRING 
2006: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
2007: LD_ADDR_OWVAR 29
2011: PUSH
2012: LD_INT 9
2014: PPUSH
2015: LD_INT 11
2017: PPUSH
2018: CALL_OW 12
2022: PUSH
2023: LD_INT 10
2025: PPUSH
2026: LD_INT 12
2028: PPUSH
2029: CALL_OW 12
2033: PUSH
2034: EMPTY
2035: LIST
2036: LIST
2037: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 3 ) , 6 , Rand ( 0 , 1 ) , Rand ( 0 , 2 ) ] ;
2038: LD_ADDR_OWVAR 31
2042: PUSH
2043: LD_INT 0
2045: PPUSH
2046: LD_INT 3
2048: PPUSH
2049: CALL_OW 12
2053: PUSH
2054: LD_INT 6
2056: PUSH
2057: LD_INT 0
2059: PPUSH
2060: LD_INT 1
2062: PPUSH
2063: CALL_OW 12
2067: PUSH
2068: LD_INT 0
2070: PPUSH
2071: LD_INT 2
2073: PPUSH
2074: CALL_OW 12
2078: PUSH
2079: EMPTY
2080: LIST
2081: LIST
2082: LIST
2083: LIST
2084: ST_TO_ADDR
// un = CreateHuman ;
2085: LD_ADDR_VAR 0 8
2089: PUSH
2090: CALL_OW 44
2094: ST_TO_ADDR
// PlaceHumanInUnit ( un , depotAM2 ) ;
2095: LD_VAR 0 8
2099: PPUSH
2100: LD_INT 480
2102: PPUSH
2103: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
2107: LD_ADDR_EXP 6
2111: PUSH
2112: LD_EXP 6
2116: PUSH
2117: LD_VAR 0 8
2121: ADD
2122: ST_TO_ADDR
// end ; end ;
2123: GO 1953
2125: POP
2126: POP
// for i in depotAM3 do
2127: LD_ADDR_VAR 0 7
2131: PUSH
2132: LD_INT 10
2134: PUSH
2135: FOR_IN
2136: IFFALSE 2327
// begin if IsInUnit ( i ) = 0 then
2138: LD_VAR 0 7
2142: PPUSH
2143: CALL_OW 310
2147: PUSH
2148: LD_INT 0
2150: EQUAL
2151: IFFALSE 2325
// begin uc_side = 1 ;
2153: LD_ADDR_OWVAR 20
2157: PUSH
2158: LD_INT 1
2160: ST_TO_ADDR
// uc_nation = 1 ;
2161: LD_ADDR_OWVAR 21
2165: PUSH
2166: LD_INT 1
2168: ST_TO_ADDR
// hc_gallery =  ;
2169: LD_ADDR_OWVAR 33
2173: PUSH
2174: LD_STRING 
2176: ST_TO_ADDR
// hc_name =  ;
2177: LD_ADDR_OWVAR 26
2181: PUSH
2182: LD_STRING 
2184: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
2185: LD_ADDR_OWVAR 29
2189: PUSH
2190: LD_INT 9
2192: PPUSH
2193: LD_INT 11
2195: PPUSH
2196: CALL_OW 12
2200: PUSH
2201: LD_INT 10
2203: PPUSH
2204: LD_INT 12
2206: PPUSH
2207: CALL_OW 12
2211: PUSH
2212: EMPTY
2213: LIST
2214: LIST
2215: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 3 ) , 6 , Rand ( 0 , 1 ) , Rand ( 0 , 1 ) ] ;
2216: LD_ADDR_OWVAR 31
2220: PUSH
2221: LD_INT 0
2223: PPUSH
2224: LD_INT 3
2226: PPUSH
2227: CALL_OW 12
2231: PUSH
2232: LD_INT 6
2234: PUSH
2235: LD_INT 0
2237: PPUSH
2238: LD_INT 1
2240: PPUSH
2241: CALL_OW 12
2245: PUSH
2246: LD_INT 0
2248: PPUSH
2249: LD_INT 1
2251: PPUSH
2252: CALL_OW 12
2256: PUSH
2257: EMPTY
2258: LIST
2259: LIST
2260: LIST
2261: LIST
2262: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
2263: LD_ADDR_OWVAR 27
2267: PUSH
2268: LD_INT 1
2270: PPUSH
2271: LD_INT 2
2273: PPUSH
2274: CALL_OW 12
2278: ST_TO_ADDR
// hc_class = 2 ;
2279: LD_ADDR_OWVAR 28
2283: PUSH
2284: LD_INT 2
2286: ST_TO_ADDR
// un = CreateHuman ;
2287: LD_ADDR_VAR 0 8
2291: PUSH
2292: CALL_OW 44
2296: ST_TO_ADDR
// PlaceHumanInUnit ( un , depotAM3 ) ;
2297: LD_VAR 0 8
2301: PPUSH
2302: LD_INT 10
2304: PPUSH
2305: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
2309: LD_ADDR_EXP 6
2313: PUSH
2314: LD_EXP 6
2318: PUSH
2319: LD_VAR 0 8
2323: ADD
2324: ST_TO_ADDR
// end ; end ;
2325: GO 2135
2327: POP
2328: POP
// for i in factoryRU1 do
2329: LD_ADDR_VAR 0 7
2333: PUSH
2334: LD_INT 58
2336: PUSH
2337: FOR_IN
2338: IFFALSE 2547
// begin l = 0 ;
2340: LD_ADDR_VAR 0 9
2344: PUSH
2345: LD_INT 0
2347: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
2348: LD_VAR 0 7
2352: PPUSH
2353: CALL_OW 310
2357: PUSH
2358: LD_INT 0
2360: EQUAL
2361: IFFALSE 2545
// begin repeat begin uc_side = 3 ;
2363: LD_ADDR_OWVAR 20
2367: PUSH
2368: LD_INT 3
2370: ST_TO_ADDR
// uc_nation = 3 ;
2371: LD_ADDR_OWVAR 21
2375: PUSH
2376: LD_INT 3
2378: ST_TO_ADDR
// hc_gallery =  ;
2379: LD_ADDR_OWVAR 33
2383: PUSH
2384: LD_STRING 
2386: ST_TO_ADDR
// hc_name =  ;
2387: LD_ADDR_OWVAR 26
2391: PUSH
2392: LD_STRING 
2394: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
2395: LD_ADDR_OWVAR 29
2399: PUSH
2400: LD_INT 9
2402: PPUSH
2403: LD_INT 11
2405: PPUSH
2406: CALL_OW 12
2410: PUSH
2411: LD_INT 10
2413: PPUSH
2414: LD_INT 12
2416: PPUSH
2417: CALL_OW 12
2421: PUSH
2422: EMPTY
2423: LIST
2424: LIST
2425: ST_TO_ADDR
// hc_skills = [ Rand ( 1 , 4 ) , Rand ( 0 , 4 ) , MechLevel , Rand ( 0 , 4 ) ] ;
2426: LD_ADDR_OWVAR 31
2430: PUSH
2431: LD_INT 1
2433: PPUSH
2434: LD_INT 4
2436: PPUSH
2437: CALL_OW 12
2441: PUSH
2442: LD_INT 0
2444: PPUSH
2445: LD_INT 4
2447: PPUSH
2448: CALL_OW 12
2452: PUSH
2453: LD_VAR 0 12
2457: PUSH
2458: LD_INT 0
2460: PPUSH
2461: LD_INT 4
2463: PPUSH
2464: CALL_OW 12
2468: PUSH
2469: EMPTY
2470: LIST
2471: LIST
2472: LIST
2473: LIST
2474: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
2475: LD_ADDR_OWVAR 27
2479: PUSH
2480: LD_INT 1
2482: PPUSH
2483: LD_INT 2
2485: PPUSH
2486: CALL_OW 12
2490: ST_TO_ADDR
// hc_class = 3 ;
2491: LD_ADDR_OWVAR 28
2495: PUSH
2496: LD_INT 3
2498: ST_TO_ADDR
// un = CreateHuman ;
2499: LD_ADDR_VAR 0 8
2503: PUSH
2504: CALL_OW 44
2508: ST_TO_ADDR
// PlaceHumanInUnit ( un , factoryRU1 ) ;
2509: LD_VAR 0 8
2513: PPUSH
2514: LD_INT 58
2516: PPUSH
2517: CALL_OW 52
// l = l + 1 ;
2521: LD_ADDR_VAR 0 9
2525: PUSH
2526: LD_VAR 0 9
2530: PUSH
2531: LD_INT 1
2533: PLUS
2534: ST_TO_ADDR
// end until l = 3 ;
2535: LD_VAR 0 9
2539: PUSH
2540: LD_INT 3
2542: EQUAL
2543: IFFALSE 2363
// end ; end ;
2545: GO 2337
2547: POP
2548: POP
// for i in factoryRU2 do
2549: LD_ADDR_VAR 0 7
2553: PUSH
2554: LD_INT 68
2556: PUSH
2557: FOR_IN
2558: IFFALSE 2767
// begin l = 0 ;
2560: LD_ADDR_VAR 0 9
2564: PUSH
2565: LD_INT 0
2567: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
2568: LD_VAR 0 7
2572: PPUSH
2573: CALL_OW 310
2577: PUSH
2578: LD_INT 0
2580: EQUAL
2581: IFFALSE 2765
// begin repeat begin uc_side = 3 ;
2583: LD_ADDR_OWVAR 20
2587: PUSH
2588: LD_INT 3
2590: ST_TO_ADDR
// uc_nation = 3 ;
2591: LD_ADDR_OWVAR 21
2595: PUSH
2596: LD_INT 3
2598: ST_TO_ADDR
// hc_gallery =  ;
2599: LD_ADDR_OWVAR 33
2603: PUSH
2604: LD_STRING 
2606: ST_TO_ADDR
// hc_name =  ;
2607: LD_ADDR_OWVAR 26
2611: PUSH
2612: LD_STRING 
2614: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
2615: LD_ADDR_OWVAR 29
2619: PUSH
2620: LD_INT 9
2622: PPUSH
2623: LD_INT 11
2625: PPUSH
2626: CALL_OW 12
2630: PUSH
2631: LD_INT 10
2633: PPUSH
2634: LD_INT 12
2636: PPUSH
2637: CALL_OW 12
2641: PUSH
2642: EMPTY
2643: LIST
2644: LIST
2645: ST_TO_ADDR
// hc_skills = [ Rand ( 1 , 4 ) , Rand ( 0 , 4 ) , MechLevel , Rand ( 0 , 4 ) ] ;
2646: LD_ADDR_OWVAR 31
2650: PUSH
2651: LD_INT 1
2653: PPUSH
2654: LD_INT 4
2656: PPUSH
2657: CALL_OW 12
2661: PUSH
2662: LD_INT 0
2664: PPUSH
2665: LD_INT 4
2667: PPUSH
2668: CALL_OW 12
2672: PUSH
2673: LD_VAR 0 12
2677: PUSH
2678: LD_INT 0
2680: PPUSH
2681: LD_INT 4
2683: PPUSH
2684: CALL_OW 12
2688: PUSH
2689: EMPTY
2690: LIST
2691: LIST
2692: LIST
2693: LIST
2694: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
2695: LD_ADDR_OWVAR 27
2699: PUSH
2700: LD_INT 1
2702: PPUSH
2703: LD_INT 2
2705: PPUSH
2706: CALL_OW 12
2710: ST_TO_ADDR
// hc_class = 3 ;
2711: LD_ADDR_OWVAR 28
2715: PUSH
2716: LD_INT 3
2718: ST_TO_ADDR
// un = CreateHuman ;
2719: LD_ADDR_VAR 0 8
2723: PUSH
2724: CALL_OW 44
2728: ST_TO_ADDR
// PlaceHumanInUnit ( un , factoryRU2 ) ;
2729: LD_VAR 0 8
2733: PPUSH
2734: LD_INT 68
2736: PPUSH
2737: CALL_OW 52
// l = l + 1 ;
2741: LD_ADDR_VAR 0 9
2745: PUSH
2746: LD_VAR 0 9
2750: PUSH
2751: LD_INT 1
2753: PLUS
2754: ST_TO_ADDR
// end until l = 3 ;
2755: LD_VAR 0 9
2759: PUSH
2760: LD_INT 3
2762: EQUAL
2763: IFFALSE 2583
// end ; end ;
2765: GO 2557
2767: POP
2768: POP
// for i in factoryAM1 do
2769: LD_ADDR_VAR 0 7
2773: PUSH
2774: LD_INT 456
2776: PUSH
2777: FOR_IN
2778: IFFALSE 3001
// begin l = 0 ;
2780: LD_ADDR_VAR 0 9
2784: PUSH
2785: LD_INT 0
2787: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
2788: LD_VAR 0 7
2792: PPUSH
2793: CALL_OW 310
2797: PUSH
2798: LD_INT 0
2800: EQUAL
2801: IFFALSE 2999
// begin repeat begin uc_side = 1 ;
2803: LD_ADDR_OWVAR 20
2807: PUSH
2808: LD_INT 1
2810: ST_TO_ADDR
// uc_nation = 1 ;
2811: LD_ADDR_OWVAR 21
2815: PUSH
2816: LD_INT 1
2818: ST_TO_ADDR
// hc_gallery =  ;
2819: LD_ADDR_OWVAR 33
2823: PUSH
2824: LD_STRING 
2826: ST_TO_ADDR
// hc_name =  ;
2827: LD_ADDR_OWVAR 26
2831: PUSH
2832: LD_STRING 
2834: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
2835: LD_ADDR_OWVAR 29
2839: PUSH
2840: LD_INT 9
2842: PPUSH
2843: LD_INT 11
2845: PPUSH
2846: CALL_OW 12
2850: PUSH
2851: LD_INT 10
2853: PPUSH
2854: LD_INT 12
2856: PPUSH
2857: CALL_OW 12
2861: PUSH
2862: EMPTY
2863: LIST
2864: LIST
2865: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 2 ) , Rand ( 0 , 2 ) , 5 , Rand ( 0 , 2 ) ] ;
2866: LD_ADDR_OWVAR 31
2870: PUSH
2871: LD_INT 0
2873: PPUSH
2874: LD_INT 2
2876: PPUSH
2877: CALL_OW 12
2881: PUSH
2882: LD_INT 0
2884: PPUSH
2885: LD_INT 2
2887: PPUSH
2888: CALL_OW 12
2892: PUSH
2893: LD_INT 5
2895: PUSH
2896: LD_INT 0
2898: PPUSH
2899: LD_INT 2
2901: PPUSH
2902: CALL_OW 12
2906: PUSH
2907: EMPTY
2908: LIST
2909: LIST
2910: LIST
2911: LIST
2912: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
2913: LD_ADDR_OWVAR 27
2917: PUSH
2918: LD_INT 1
2920: PPUSH
2921: LD_INT 2
2923: PPUSH
2924: CALL_OW 12
2928: ST_TO_ADDR
// hc_class = 3 ;
2929: LD_ADDR_OWVAR 28
2933: PUSH
2934: LD_INT 3
2936: ST_TO_ADDR
// un = CreateHuman ;
2937: LD_ADDR_VAR 0 8
2941: PUSH
2942: CALL_OW 44
2946: ST_TO_ADDR
// PlaceHumanInUnit ( un , factoryAM1 ) ;
2947: LD_VAR 0 8
2951: PPUSH
2952: LD_INT 456
2954: PPUSH
2955: CALL_OW 52
// l = l + 1 ;
2959: LD_ADDR_VAR 0 9
2963: PUSH
2964: LD_VAR 0 9
2968: PUSH
2969: LD_INT 1
2971: PLUS
2972: ST_TO_ADDR
// AmericanPerson = AmericanPerson ^ un ;
2973: LD_ADDR_EXP 6
2977: PUSH
2978: LD_EXP 6
2982: PUSH
2983: LD_VAR 0 8
2987: ADD
2988: ST_TO_ADDR
// end until l = 1 ;
2989: LD_VAR 0 9
2993: PUSH
2994: LD_INT 1
2996: EQUAL
2997: IFFALSE 2803
// end ; end ;
2999: GO 2777
3001: POP
3002: POP
// for i in factoryAM2 do
3003: LD_ADDR_VAR 0 7
3007: PUSH
3008: LD_INT 489
3010: PUSH
3011: FOR_IN
3012: IFFALSE 3235
// begin l = 0 ;
3014: LD_ADDR_VAR 0 9
3018: PUSH
3019: LD_INT 0
3021: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
3022: LD_VAR 0 7
3026: PPUSH
3027: CALL_OW 310
3031: PUSH
3032: LD_INT 0
3034: EQUAL
3035: IFFALSE 3233
// begin repeat begin uc_side = 1 ;
3037: LD_ADDR_OWVAR 20
3041: PUSH
3042: LD_INT 1
3044: ST_TO_ADDR
// uc_nation = 1 ;
3045: LD_ADDR_OWVAR 21
3049: PUSH
3050: LD_INT 1
3052: ST_TO_ADDR
// hc_gallery =  ;
3053: LD_ADDR_OWVAR 33
3057: PUSH
3058: LD_STRING 
3060: ST_TO_ADDR
// hc_name =  ;
3061: LD_ADDR_OWVAR 26
3065: PUSH
3066: LD_STRING 
3068: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
3069: LD_ADDR_OWVAR 29
3073: PUSH
3074: LD_INT 9
3076: PPUSH
3077: LD_INT 11
3079: PPUSH
3080: CALL_OW 12
3084: PUSH
3085: LD_INT 10
3087: PPUSH
3088: LD_INT 12
3090: PPUSH
3091: CALL_OW 12
3095: PUSH
3096: EMPTY
3097: LIST
3098: LIST
3099: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 2 ) , Rand ( 0 , 4 ) , 4 , Rand ( 0 , 2 ) ] ;
3100: LD_ADDR_OWVAR 31
3104: PUSH
3105: LD_INT 0
3107: PPUSH
3108: LD_INT 2
3110: PPUSH
3111: CALL_OW 12
3115: PUSH
3116: LD_INT 0
3118: PPUSH
3119: LD_INT 4
3121: PPUSH
3122: CALL_OW 12
3126: PUSH
3127: LD_INT 4
3129: PUSH
3130: LD_INT 0
3132: PPUSH
3133: LD_INT 2
3135: PPUSH
3136: CALL_OW 12
3140: PUSH
3141: EMPTY
3142: LIST
3143: LIST
3144: LIST
3145: LIST
3146: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
3147: LD_ADDR_OWVAR 27
3151: PUSH
3152: LD_INT 1
3154: PPUSH
3155: LD_INT 2
3157: PPUSH
3158: CALL_OW 12
3162: ST_TO_ADDR
// hc_class = 3 ;
3163: LD_ADDR_OWVAR 28
3167: PUSH
3168: LD_INT 3
3170: ST_TO_ADDR
// un = CreateHuman ;
3171: LD_ADDR_VAR 0 8
3175: PUSH
3176: CALL_OW 44
3180: ST_TO_ADDR
// PlaceHumanInUnit ( un , factoryAM2 ) ;
3181: LD_VAR 0 8
3185: PPUSH
3186: LD_INT 489
3188: PPUSH
3189: CALL_OW 52
// l = l + 1 ;
3193: LD_ADDR_VAR 0 9
3197: PUSH
3198: LD_VAR 0 9
3202: PUSH
3203: LD_INT 1
3205: PLUS
3206: ST_TO_ADDR
// AmericanPerson = AmericanPerson ^ un ;
3207: LD_ADDR_EXP 6
3211: PUSH
3212: LD_EXP 6
3216: PUSH
3217: LD_VAR 0 8
3221: ADD
3222: ST_TO_ADDR
// end until l = 1 ;
3223: LD_VAR 0 9
3227: PUSH
3228: LD_INT 1
3230: EQUAL
3231: IFFALSE 3037
// end ; end ;
3233: GO 3011
3235: POP
3236: POP
// for i in factoryAM3 do
3237: LD_ADDR_VAR 0 7
3241: PUSH
3242: LD_INT 19
3244: PUSH
3245: FOR_IN
3246: IFFALSE 3639
// begin if IsInUnit ( i ) = 0 then
3248: LD_VAR 0 7
3252: PPUSH
3253: CALL_OW 310
3257: PUSH
3258: LD_INT 0
3260: EQUAL
3261: IFFALSE 3637
// begin uc_side = 1 ;
3263: LD_ADDR_OWVAR 20
3267: PUSH
3268: LD_INT 1
3270: ST_TO_ADDR
// uc_nation = 1 ;
3271: LD_ADDR_OWVAR 21
3275: PUSH
3276: LD_INT 1
3278: ST_TO_ADDR
// hc_gallery =  ;
3279: LD_ADDR_OWVAR 33
3283: PUSH
3284: LD_STRING 
3286: ST_TO_ADDR
// hc_name =  ;
3287: LD_ADDR_OWVAR 26
3291: PUSH
3292: LD_STRING 
3294: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
3295: LD_ADDR_OWVAR 29
3299: PUSH
3300: LD_INT 9
3302: PPUSH
3303: LD_INT 11
3305: PPUSH
3306: CALL_OW 12
3310: PUSH
3311: LD_INT 10
3313: PPUSH
3314: LD_INT 12
3316: PPUSH
3317: CALL_OW 12
3321: PUSH
3322: EMPTY
3323: LIST
3324: LIST
3325: ST_TO_ADDR
// hc_skills = [ Rand ( 1 , 4 ) , Rand ( 0 , 3 ) , 6 , Rand ( 0 , 2 ) ] ;
3326: LD_ADDR_OWVAR 31
3330: PUSH
3331: LD_INT 1
3333: PPUSH
3334: LD_INT 4
3336: PPUSH
3337: CALL_OW 12
3341: PUSH
3342: LD_INT 0
3344: PPUSH
3345: LD_INT 3
3347: PPUSH
3348: CALL_OW 12
3352: PUSH
3353: LD_INT 6
3355: PUSH
3356: LD_INT 0
3358: PPUSH
3359: LD_INT 2
3361: PPUSH
3362: CALL_OW 12
3366: PUSH
3367: EMPTY
3368: LIST
3369: LIST
3370: LIST
3371: LIST
3372: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
3373: LD_ADDR_OWVAR 27
3377: PUSH
3378: LD_INT 1
3380: PPUSH
3381: LD_INT 2
3383: PPUSH
3384: CALL_OW 12
3388: ST_TO_ADDR
// hc_class = 3 ;
3389: LD_ADDR_OWVAR 28
3393: PUSH
3394: LD_INT 3
3396: ST_TO_ADDR
// un = CreateHuman ;
3397: LD_ADDR_VAR 0 8
3401: PUSH
3402: CALL_OW 44
3406: ST_TO_ADDR
// PlaceHumanInUnit ( un , factoryAM3 ) ;
3407: LD_VAR 0 8
3411: PPUSH
3412: LD_INT 19
3414: PPUSH
3415: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
3419: LD_ADDR_EXP 6
3423: PUSH
3424: LD_EXP 6
3428: PUSH
3429: LD_VAR 0 8
3433: ADD
3434: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
3435: LD_ADDR_OWVAR 27
3439: PUSH
3440: LD_INT 1
3442: PPUSH
3443: LD_INT 2
3445: PPUSH
3446: CALL_OW 12
3450: ST_TO_ADDR
// hc_skills = [ Rand ( 1 , 5 ) , Rand ( 0 , 4 ) , 5 , Rand ( 0 , 1 ) ] ;
3451: LD_ADDR_OWVAR 31
3455: PUSH
3456: LD_INT 1
3458: PPUSH
3459: LD_INT 5
3461: PPUSH
3462: CALL_OW 12
3466: PUSH
3467: LD_INT 0
3469: PPUSH
3470: LD_INT 4
3472: PPUSH
3473: CALL_OW 12
3477: PUSH
3478: LD_INT 5
3480: PUSH
3481: LD_INT 0
3483: PPUSH
3484: LD_INT 1
3486: PPUSH
3487: CALL_OW 12
3491: PUSH
3492: EMPTY
3493: LIST
3494: LIST
3495: LIST
3496: LIST
3497: ST_TO_ADDR
// un = CreateHuman ;
3498: LD_ADDR_VAR 0 8
3502: PUSH
3503: CALL_OW 44
3507: ST_TO_ADDR
// PlaceHumanInUnit ( un , factoryAM3 ) ;
3508: LD_VAR 0 8
3512: PPUSH
3513: LD_INT 19
3515: PPUSH
3516: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
3520: LD_ADDR_EXP 6
3524: PUSH
3525: LD_EXP 6
3529: PUSH
3530: LD_VAR 0 8
3534: ADD
3535: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
3536: LD_ADDR_OWVAR 27
3540: PUSH
3541: LD_INT 1
3543: PPUSH
3544: LD_INT 2
3546: PPUSH
3547: CALL_OW 12
3551: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 3 ) , Rand ( 0 , 2 ) , 5 , Rand ( 1 , 3 ) ] ;
3552: LD_ADDR_OWVAR 31
3556: PUSH
3557: LD_INT 0
3559: PPUSH
3560: LD_INT 3
3562: PPUSH
3563: CALL_OW 12
3567: PUSH
3568: LD_INT 0
3570: PPUSH
3571: LD_INT 2
3573: PPUSH
3574: CALL_OW 12
3578: PUSH
3579: LD_INT 5
3581: PUSH
3582: LD_INT 1
3584: PPUSH
3585: LD_INT 3
3587: PPUSH
3588: CALL_OW 12
3592: PUSH
3593: EMPTY
3594: LIST
3595: LIST
3596: LIST
3597: LIST
3598: ST_TO_ADDR
// un = CreateHuman ;
3599: LD_ADDR_VAR 0 8
3603: PUSH
3604: CALL_OW 44
3608: ST_TO_ADDR
// PlaceHumanInUnit ( un , factoryAM3 ) ;
3609: LD_VAR 0 8
3613: PPUSH
3614: LD_INT 19
3616: PPUSH
3617: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
3621: LD_ADDR_EXP 6
3625: PUSH
3626: LD_EXP 6
3630: PUSH
3631: LD_VAR 0 8
3635: ADD
3636: ST_TO_ADDR
// end ; end ;
3637: GO 3245
3639: POP
3640: POP
// for i in factoryAM4 do
3641: LD_ADDR_VAR 0 7
3645: PUSH
3646: LD_INT 17
3648: PUSH
3649: FOR_IN
3650: IFFALSE 3841
// begin l = 0 ;
3652: LD_ADDR_VAR 0 9
3656: PUSH
3657: LD_INT 0
3659: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
3660: LD_VAR 0 7
3664: PPUSH
3665: CALL_OW 310
3669: PUSH
3670: LD_INT 0
3672: EQUAL
3673: IFFALSE 3839
// begin uc_side = 1 ;
3675: LD_ADDR_OWVAR 20
3679: PUSH
3680: LD_INT 1
3682: ST_TO_ADDR
// uc_nation = 1 ;
3683: LD_ADDR_OWVAR 21
3687: PUSH
3688: LD_INT 1
3690: ST_TO_ADDR
// hc_gallery =  ;
3691: LD_ADDR_OWVAR 33
3695: PUSH
3696: LD_STRING 
3698: ST_TO_ADDR
// hc_name =  ;
3699: LD_ADDR_OWVAR 26
3703: PUSH
3704: LD_STRING 
3706: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
3707: LD_ADDR_OWVAR 29
3711: PUSH
3712: LD_INT 9
3714: PPUSH
3715: LD_INT 11
3717: PPUSH
3718: CALL_OW 12
3722: PUSH
3723: LD_INT 10
3725: PPUSH
3726: LD_INT 12
3728: PPUSH
3729: CALL_OW 12
3733: PUSH
3734: EMPTY
3735: LIST
3736: LIST
3737: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
3738: LD_ADDR_OWVAR 27
3742: PUSH
3743: LD_INT 1
3745: PPUSH
3746: LD_INT 2
3748: PPUSH
3749: CALL_OW 12
3753: ST_TO_ADDR
// hc_skills = [ Rand ( 1 , 5 ) , Rand ( 0 , 4 ) , 4 , Rand ( 0 , 1 ) ] ;
3754: LD_ADDR_OWVAR 31
3758: PUSH
3759: LD_INT 1
3761: PPUSH
3762: LD_INT 5
3764: PPUSH
3765: CALL_OW 12
3769: PUSH
3770: LD_INT 0
3772: PPUSH
3773: LD_INT 4
3775: PPUSH
3776: CALL_OW 12
3780: PUSH
3781: LD_INT 4
3783: PUSH
3784: LD_INT 0
3786: PPUSH
3787: LD_INT 1
3789: PPUSH
3790: CALL_OW 12
3794: PUSH
3795: EMPTY
3796: LIST
3797: LIST
3798: LIST
3799: LIST
3800: ST_TO_ADDR
// un = CreateHuman ;
3801: LD_ADDR_VAR 0 8
3805: PUSH
3806: CALL_OW 44
3810: ST_TO_ADDR
// PlaceHumanInUnit ( un , factoryAM3 ) ;
3811: LD_VAR 0 8
3815: PPUSH
3816: LD_INT 19
3818: PPUSH
3819: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
3823: LD_ADDR_EXP 6
3827: PUSH
3828: LD_EXP 6
3832: PUSH
3833: LD_VAR 0 8
3837: ADD
3838: ST_TO_ADDR
// end ; end ;
3839: GO 3649
3841: POP
3842: POP
// for i in labAM1 do
3843: LD_ADDR_VAR 0 7
3847: PUSH
3848: LD_INT 463
3850: PUSH
3851: FOR_IN
3852: IFFALSE 4144
// begin if IsInUnit ( i ) = 0 then
3854: LD_VAR 0 7
3858: PPUSH
3859: CALL_OW 310
3863: PUSH
3864: LD_INT 0
3866: EQUAL
3867: IFFALSE 4142
// begin uc_side = 1 ;
3869: LD_ADDR_OWVAR 20
3873: PUSH
3874: LD_INT 1
3876: ST_TO_ADDR
// uc_nation = 1 ;
3877: LD_ADDR_OWVAR 21
3881: PUSH
3882: LD_INT 1
3884: ST_TO_ADDR
// hc_gallery =  ;
3885: LD_ADDR_OWVAR 33
3889: PUSH
3890: LD_STRING 
3892: ST_TO_ADDR
// hc_name =  ;
3893: LD_ADDR_OWVAR 26
3897: PUSH
3898: LD_STRING 
3900: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
3901: LD_ADDR_OWVAR 29
3905: PUSH
3906: LD_INT 9
3908: PPUSH
3909: LD_INT 11
3911: PPUSH
3912: CALL_OW 12
3916: PUSH
3917: LD_INT 10
3919: PPUSH
3920: LD_INT 12
3922: PPUSH
3923: CALL_OW 12
3927: PUSH
3928: EMPTY
3929: LIST
3930: LIST
3931: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 1 ) , Rand ( 1 , 3 ) , Rand ( 0 , 2 ) , 6 ] ;
3932: LD_ADDR_OWVAR 31
3936: PUSH
3937: LD_INT 0
3939: PPUSH
3940: LD_INT 1
3942: PPUSH
3943: CALL_OW 12
3947: PUSH
3948: LD_INT 1
3950: PPUSH
3951: LD_INT 3
3953: PPUSH
3954: CALL_OW 12
3958: PUSH
3959: LD_INT 0
3961: PPUSH
3962: LD_INT 2
3964: PPUSH
3965: CALL_OW 12
3969: PUSH
3970: LD_INT 6
3972: PUSH
3973: EMPTY
3974: LIST
3975: LIST
3976: LIST
3977: LIST
3978: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
3979: LD_ADDR_OWVAR 27
3983: PUSH
3984: LD_INT 1
3986: PPUSH
3987: LD_INT 2
3989: PPUSH
3990: CALL_OW 12
3994: ST_TO_ADDR
// hc_class = 4 ;
3995: LD_ADDR_OWVAR 28
3999: PUSH
4000: LD_INT 4
4002: ST_TO_ADDR
// un = CreateHuman ;
4003: LD_ADDR_VAR 0 8
4007: PUSH
4008: CALL_OW 44
4012: ST_TO_ADDR
// PlaceHumanInUnit ( un , labAM1 ) ;
4013: LD_VAR 0 8
4017: PPUSH
4018: LD_INT 463
4020: PPUSH
4021: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
4025: LD_ADDR_EXP 6
4029: PUSH
4030: LD_EXP 6
4034: PUSH
4035: LD_VAR 0 8
4039: ADD
4040: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 1 ) , Rand ( 1 , 3 ) , Rand ( 0 , 2 ) , 5 ] ;
4041: LD_ADDR_OWVAR 31
4045: PUSH
4046: LD_INT 0
4048: PPUSH
4049: LD_INT 1
4051: PPUSH
4052: CALL_OW 12
4056: PUSH
4057: LD_INT 1
4059: PPUSH
4060: LD_INT 3
4062: PPUSH
4063: CALL_OW 12
4067: PUSH
4068: LD_INT 0
4070: PPUSH
4071: LD_INT 2
4073: PPUSH
4074: CALL_OW 12
4078: PUSH
4079: LD_INT 5
4081: PUSH
4082: EMPTY
4083: LIST
4084: LIST
4085: LIST
4086: LIST
4087: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
4088: LD_ADDR_OWVAR 27
4092: PUSH
4093: LD_INT 1
4095: PPUSH
4096: LD_INT 2
4098: PPUSH
4099: CALL_OW 12
4103: ST_TO_ADDR
// un = CreateHuman ;
4104: LD_ADDR_VAR 0 8
4108: PUSH
4109: CALL_OW 44
4113: ST_TO_ADDR
// PlaceHumanInUnit ( un , labAM1 ) ;
4114: LD_VAR 0 8
4118: PPUSH
4119: LD_INT 463
4121: PPUSH
4122: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
4126: LD_ADDR_EXP 6
4130: PUSH
4131: LD_EXP 6
4135: PUSH
4136: LD_VAR 0 8
4140: ADD
4141: ST_TO_ADDR
// end ; end ;
4142: GO 3851
4144: POP
4145: POP
// for i in labAM2 do
4146: LD_ADDR_VAR 0 7
4150: PUSH
4151: LD_INT 457
4153: PUSH
4154: FOR_IN
4155: IFFALSE 4338
// begin l = 0 ;
4157: LD_ADDR_VAR 0 9
4161: PUSH
4162: LD_INT 0
4164: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
4165: LD_VAR 0 7
4169: PPUSH
4170: CALL_OW 310
4174: PUSH
4175: LD_INT 0
4177: EQUAL
4178: IFFALSE 4336
// begin uc_side = 1 ;
4180: LD_ADDR_OWVAR 20
4184: PUSH
4185: LD_INT 1
4187: ST_TO_ADDR
// uc_nation = 1 ;
4188: LD_ADDR_OWVAR 21
4192: PUSH
4193: LD_INT 1
4195: ST_TO_ADDR
// hc_gallery =  ;
4196: LD_ADDR_OWVAR 33
4200: PUSH
4201: LD_STRING 
4203: ST_TO_ADDR
// hc_name =  ;
4204: LD_ADDR_OWVAR 26
4208: PUSH
4209: LD_STRING 
4211: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
4212: LD_ADDR_OWVAR 29
4216: PUSH
4217: LD_INT 9
4219: PPUSH
4220: LD_INT 11
4222: PPUSH
4223: CALL_OW 12
4227: PUSH
4228: LD_INT 10
4230: PPUSH
4231: LD_INT 12
4233: PPUSH
4234: CALL_OW 12
4238: PUSH
4239: EMPTY
4240: LIST
4241: LIST
4242: ST_TO_ADDR
// hc_skills = [ 0 , Rand ( 1 , 4 ) , Rand ( 0 , 3 ) , 5 ] ;
4243: LD_ADDR_OWVAR 31
4247: PUSH
4248: LD_INT 0
4250: PUSH
4251: LD_INT 1
4253: PPUSH
4254: LD_INT 4
4256: PPUSH
4257: CALL_OW 12
4261: PUSH
4262: LD_INT 0
4264: PPUSH
4265: LD_INT 3
4267: PPUSH
4268: CALL_OW 12
4272: PUSH
4273: LD_INT 5
4275: PUSH
4276: EMPTY
4277: LIST
4278: LIST
4279: LIST
4280: LIST
4281: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
4282: LD_ADDR_OWVAR 27
4286: PUSH
4287: LD_INT 1
4289: PPUSH
4290: LD_INT 2
4292: PPUSH
4293: CALL_OW 12
4297: ST_TO_ADDR
// un = CreateHuman ;
4298: LD_ADDR_VAR 0 8
4302: PUSH
4303: CALL_OW 44
4307: ST_TO_ADDR
// PlaceHumanInUnit ( un , labAM2 ) ;
4308: LD_VAR 0 8
4312: PPUSH
4313: LD_INT 457
4315: PPUSH
4316: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
4320: LD_ADDR_EXP 6
4324: PUSH
4325: LD_EXP 6
4329: PUSH
4330: LD_VAR 0 8
4334: ADD
4335: ST_TO_ADDR
// end ; end ;
4336: GO 4154
4338: POP
4339: POP
// for i in labAM3 do
4340: LD_ADDR_VAR 0 7
4344: PUSH
4345: LD_INT 496
4347: PUSH
4348: FOR_IN
4349: IFFALSE 4516
// begin if IsInUnit ( i ) = 0 then
4351: LD_VAR 0 7
4355: PPUSH
4356: CALL_OW 310
4360: PUSH
4361: LD_INT 0
4363: EQUAL
4364: IFFALSE 4514
// begin uc_side = 1 ;
4366: LD_ADDR_OWVAR 20
4370: PUSH
4371: LD_INT 1
4373: ST_TO_ADDR
// uc_nation = 1 ;
4374: LD_ADDR_OWVAR 21
4378: PUSH
4379: LD_INT 1
4381: ST_TO_ADDR
// hc_gallery =  ;
4382: LD_ADDR_OWVAR 33
4386: PUSH
4387: LD_STRING 
4389: ST_TO_ADDR
// hc_name =  ;
4390: LD_ADDR_OWVAR 26
4394: PUSH
4395: LD_STRING 
4397: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
4398: LD_ADDR_OWVAR 29
4402: PUSH
4403: LD_INT 9
4405: PPUSH
4406: LD_INT 11
4408: PPUSH
4409: CALL_OW 12
4413: PUSH
4414: LD_INT 10
4416: PPUSH
4417: LD_INT 12
4419: PPUSH
4420: CALL_OW 12
4424: PUSH
4425: EMPTY
4426: LIST
4427: LIST
4428: ST_TO_ADDR
// hc_skills = [ 0 , 2 , 2 , 3 ] ;
4429: LD_ADDR_OWVAR 31
4433: PUSH
4434: LD_INT 0
4436: PUSH
4437: LD_INT 2
4439: PUSH
4440: LD_INT 2
4442: PUSH
4443: LD_INT 3
4445: PUSH
4446: EMPTY
4447: LIST
4448: LIST
4449: LIST
4450: LIST
4451: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
4452: LD_ADDR_OWVAR 27
4456: PUSH
4457: LD_INT 1
4459: PPUSH
4460: LD_INT 2
4462: PPUSH
4463: CALL_OW 12
4467: ST_TO_ADDR
// hc_class = 4 ;
4468: LD_ADDR_OWVAR 28
4472: PUSH
4473: LD_INT 4
4475: ST_TO_ADDR
// un = CreateHuman ;
4476: LD_ADDR_VAR 0 8
4480: PUSH
4481: CALL_OW 44
4485: ST_TO_ADDR
// PlaceHumanInUnit ( un , labAM3 ) ;
4486: LD_VAR 0 8
4490: PPUSH
4491: LD_INT 496
4493: PPUSH
4494: CALL_OW 52
// AmericanPerson = AmericanPerson ^ un ;
4498: LD_ADDR_EXP 6
4502: PUSH
4503: LD_EXP 6
4507: PUSH
4508: LD_VAR 0 8
4512: ADD
4513: ST_TO_ADDR
// end ; end ;
4514: GO 4348
4516: POP
4517: POP
// for i in labAM4 do
4518: LD_ADDR_VAR 0 7
4522: PUSH
4523: LD_INT 36
4525: PUSH
4526: FOR_IN
4527: IFFALSE 4708
// begin if IsInUnit ( i ) = 0 then
4529: LD_VAR 0 7
4533: PPUSH
4534: CALL_OW 310
4538: PUSH
4539: LD_INT 0
4541: EQUAL
4542: IFFALSE 4706
// begin uc_side = 1 ;
4544: LD_ADDR_OWVAR 20
4548: PUSH
4549: LD_INT 1
4551: ST_TO_ADDR
// uc_nation = 1 ;
4552: LD_ADDR_OWVAR 21
4556: PUSH
4557: LD_INT 1
4559: ST_TO_ADDR
// hc_gallery =  ;
4560: LD_ADDR_OWVAR 33
4564: PUSH
4565: LD_STRING 
4567: ST_TO_ADDR
// hc_name =  ;
4568: LD_ADDR_OWVAR 26
4572: PUSH
4573: LD_STRING 
4575: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
4576: LD_ADDR_OWVAR 29
4580: PUSH
4581: LD_INT 9
4583: PPUSH
4584: LD_INT 11
4586: PPUSH
4587: CALL_OW 12
4591: PUSH
4592: LD_INT 10
4594: PPUSH
4595: LD_INT 12
4597: PPUSH
4598: CALL_OW 12
4602: PUSH
4603: EMPTY
4604: LIST
4605: LIST
4606: ST_TO_ADDR
// hc_skills = [ 2 , 1 , 1 , 4 ] ;
4607: LD_ADDR_OWVAR 31
4611: PUSH
4612: LD_INT 2
4614: PUSH
4615: LD_INT 1
4617: PUSH
4618: LD_INT 1
4620: PUSH
4621: LD_INT 4
4623: PUSH
4624: EMPTY
4625: LIST
4626: LIST
4627: LIST
4628: LIST
4629: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
4630: LD_ADDR_OWVAR 27
4634: PUSH
4635: LD_INT 1
4637: PPUSH
4638: LD_INT 2
4640: PPUSH
4641: CALL_OW 12
4645: ST_TO_ADDR
// hc_class = 4 ;
4646: LD_ADDR_OWVAR 28
4650: PUSH
4651: LD_INT 4
4653: ST_TO_ADDR
// un = CreateHuman ;
4654: LD_ADDR_VAR 0 8
4658: PUSH
4659: CALL_OW 44
4663: ST_TO_ADDR
// PlaceHumanInUnit ( un , labAM4 ) ;
4664: LD_VAR 0 8
4668: PPUSH
4669: LD_INT 36
4671: PPUSH
4672: CALL_OW 52
// l = l + 1 ;
4676: LD_ADDR_VAR 0 9
4680: PUSH
4681: LD_VAR 0 9
4685: PUSH
4686: LD_INT 1
4688: PLUS
4689: ST_TO_ADDR
// AmericanPerson = AmericanPerson ^ un ;
4690: LD_ADDR_EXP 6
4694: PUSH
4695: LD_EXP 6
4699: PUSH
4700: LD_VAR 0 8
4704: ADD
4705: ST_TO_ADDR
// end ; end ;
4706: GO 4526
4708: POP
4709: POP
// for i in labRU1 do
4710: LD_ADDR_VAR 0 7
4714: PUSH
4715: LD_INT 74
4717: PUSH
4718: FOR_IN
4719: IFFALSE 4928
// begin l = 0 ;
4721: LD_ADDR_VAR 0 9
4725: PUSH
4726: LD_INT 0
4728: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
4729: LD_VAR 0 7
4733: PPUSH
4734: CALL_OW 310
4738: PUSH
4739: LD_INT 0
4741: EQUAL
4742: IFFALSE 4926
// begin repeat begin uc_side = 3 ;
4744: LD_ADDR_OWVAR 20
4748: PUSH
4749: LD_INT 3
4751: ST_TO_ADDR
// uc_nation = 3 ;
4752: LD_ADDR_OWVAR 21
4756: PUSH
4757: LD_INT 3
4759: ST_TO_ADDR
// hc_gallery =  ;
4760: LD_ADDR_OWVAR 33
4764: PUSH
4765: LD_STRING 
4767: ST_TO_ADDR
// hc_name =  ;
4768: LD_ADDR_OWVAR 26
4772: PUSH
4773: LD_STRING 
4775: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
4776: LD_ADDR_OWVAR 29
4780: PUSH
4781: LD_INT 9
4783: PPUSH
4784: LD_INT 11
4786: PPUSH
4787: CALL_OW 12
4791: PUSH
4792: LD_INT 10
4794: PPUSH
4795: LD_INT 12
4797: PPUSH
4798: CALL_OW 12
4802: PUSH
4803: EMPTY
4804: LIST
4805: LIST
4806: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 2 ) , Rand ( 0 , 4 ) , Rand ( 1 , 3 ) , DocLevel ] ;
4807: LD_ADDR_OWVAR 31
4811: PUSH
4812: LD_INT 0
4814: PPUSH
4815: LD_INT 2
4817: PPUSH
4818: CALL_OW 12
4822: PUSH
4823: LD_INT 0
4825: PPUSH
4826: LD_INT 4
4828: PPUSH
4829: CALL_OW 12
4833: PUSH
4834: LD_INT 1
4836: PPUSH
4837: LD_INT 3
4839: PPUSH
4840: CALL_OW 12
4844: PUSH
4845: LD_VAR 0 13
4849: PUSH
4850: EMPTY
4851: LIST
4852: LIST
4853: LIST
4854: LIST
4855: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
4856: LD_ADDR_OWVAR 27
4860: PUSH
4861: LD_INT 1
4863: PPUSH
4864: LD_INT 2
4866: PPUSH
4867: CALL_OW 12
4871: ST_TO_ADDR
// hc_class = 4 ;
4872: LD_ADDR_OWVAR 28
4876: PUSH
4877: LD_INT 4
4879: ST_TO_ADDR
// un = CreateHuman ;
4880: LD_ADDR_VAR 0 8
4884: PUSH
4885: CALL_OW 44
4889: ST_TO_ADDR
// PlaceHumanInUnit ( un , labRU1 ) ;
4890: LD_VAR 0 8
4894: PPUSH
4895: LD_INT 74
4897: PPUSH
4898: CALL_OW 52
// l = l + 1 ;
4902: LD_ADDR_VAR 0 9
4906: PUSH
4907: LD_VAR 0 9
4911: PUSH
4912: LD_INT 1
4914: PLUS
4915: ST_TO_ADDR
// end until l = 2 ;
4916: LD_VAR 0 9
4920: PUSH
4921: LD_INT 2
4923: EQUAL
4924: IFFALSE 4744
// end ; end ;
4926: GO 4718
4928: POP
4929: POP
// for i in armouryAM1 do
4930: LD_ADDR_VAR 0 7
4934: PUSH
4935: LD_INT 493
4937: PUSH
4938: FOR_IN
4939: IFFALSE 5154
// begin l = 0 ;
4941: LD_ADDR_VAR 0 9
4945: PUSH
4946: LD_INT 0
4948: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
4949: LD_VAR 0 7
4953: PPUSH
4954: CALL_OW 310
4958: PUSH
4959: LD_INT 0
4961: EQUAL
4962: IFFALSE 5152
// begin repeat begin uc_side = 1 ;
4964: LD_ADDR_OWVAR 20
4968: PUSH
4969: LD_INT 1
4971: ST_TO_ADDR
// uc_nation = 1 ;
4972: LD_ADDR_OWVAR 21
4976: PUSH
4977: LD_INT 1
4979: ST_TO_ADDR
// hc_gallery =  ;
4980: LD_ADDR_OWVAR 33
4984: PUSH
4985: LD_STRING 
4987: ST_TO_ADDR
// hc_name =  ;
4988: LD_ADDR_OWVAR 26
4992: PUSH
4993: LD_STRING 
4995: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
4996: LD_ADDR_OWVAR 29
5000: PUSH
5001: LD_INT 9
5003: PPUSH
5004: LD_INT 11
5006: PPUSH
5007: CALL_OW 12
5011: PUSH
5012: LD_INT 10
5014: PPUSH
5015: LD_INT 12
5017: PPUSH
5018: CALL_OW 12
5022: PUSH
5023: EMPTY
5024: LIST
5025: LIST
5026: ST_TO_ADDR
// hc_skills = [ Rand ( 5 , 7 ) , Rand ( 0 , 2 ) , Rand ( 0 , 3 ) , Rand ( 0 , 2 ) ] ;
5027: LD_ADDR_OWVAR 31
5031: PUSH
5032: LD_INT 5
5034: PPUSH
5035: LD_INT 7
5037: PPUSH
5038: CALL_OW 12
5042: PUSH
5043: LD_INT 0
5045: PPUSH
5046: LD_INT 2
5048: PPUSH
5049: CALL_OW 12
5053: PUSH
5054: LD_INT 0
5056: PPUSH
5057: LD_INT 3
5059: PPUSH
5060: CALL_OW 12
5064: PUSH
5065: LD_INT 0
5067: PPUSH
5068: LD_INT 2
5070: PPUSH
5071: CALL_OW 12
5075: PUSH
5076: EMPTY
5077: LIST
5078: LIST
5079: LIST
5080: LIST
5081: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
5082: LD_ADDR_OWVAR 27
5086: PUSH
5087: LD_INT 1
5089: PPUSH
5090: LD_INT 2
5092: PPUSH
5093: CALL_OW 12
5097: ST_TO_ADDR
// hc_class = 1 ;
5098: LD_ADDR_OWVAR 28
5102: PUSH
5103: LD_INT 1
5105: ST_TO_ADDR
// un = CreateHuman ;
5106: LD_ADDR_VAR 0 8
5110: PUSH
5111: CALL_OW 44
5115: ST_TO_ADDR
// PlaceHumanInUnit ( un , armouryAM1 ) ;
5116: LD_VAR 0 8
5120: PPUSH
5121: LD_INT 493
5123: PPUSH
5124: CALL_OW 52
// l = l + 1 ;
5128: LD_ADDR_VAR 0 9
5132: PUSH
5133: LD_VAR 0 9
5137: PUSH
5138: LD_INT 1
5140: PLUS
5141: ST_TO_ADDR
// end until l = 3 ;
5142: LD_VAR 0 9
5146: PUSH
5147: LD_INT 3
5149: EQUAL
5150: IFFALSE 4964
// end ; end ;
5152: GO 4938
5154: POP
5155: POP
// for i in armouryAM2 do
5156: LD_ADDR_VAR 0 7
5160: PUSH
5161: LD_INT 377
5163: PUSH
5164: FOR_IN
5165: IFFALSE 5480
// begin if IsInUnit ( i ) = 0 then
5167: LD_VAR 0 7
5171: PPUSH
5172: CALL_OW 310
5176: PUSH
5177: LD_INT 0
5179: EQUAL
5180: IFFALSE 5478
// begin uc_side = 1 ;
5182: LD_ADDR_OWVAR 20
5186: PUSH
5187: LD_INT 1
5189: ST_TO_ADDR
// uc_nation = 1 ;
5190: LD_ADDR_OWVAR 21
5194: PUSH
5195: LD_INT 1
5197: ST_TO_ADDR
// hc_gallery =  ;
5198: LD_ADDR_OWVAR 33
5202: PUSH
5203: LD_STRING 
5205: ST_TO_ADDR
// hc_name =  ;
5206: LD_ADDR_OWVAR 26
5210: PUSH
5211: LD_STRING 
5213: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
5214: LD_ADDR_OWVAR 29
5218: PUSH
5219: LD_INT 9
5221: PPUSH
5222: LD_INT 11
5224: PPUSH
5225: CALL_OW 12
5229: PUSH
5230: LD_INT 10
5232: PPUSH
5233: LD_INT 12
5235: PPUSH
5236: CALL_OW 12
5240: PUSH
5241: EMPTY
5242: LIST
5243: LIST
5244: ST_TO_ADDR
// hc_skills = [ 4 , 3 , 2 , 1 ] ;
5245: LD_ADDR_OWVAR 31
5249: PUSH
5250: LD_INT 4
5252: PUSH
5253: LD_INT 3
5255: PUSH
5256: LD_INT 2
5258: PUSH
5259: LD_INT 1
5261: PUSH
5262: EMPTY
5263: LIST
5264: LIST
5265: LIST
5266: LIST
5267: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
5268: LD_ADDR_OWVAR 27
5272: PUSH
5273: LD_INT 1
5275: PPUSH
5276: LD_INT 2
5278: PPUSH
5279: CALL_OW 12
5283: ST_TO_ADDR
// hc_class = 1 ;
5284: LD_ADDR_OWVAR 28
5288: PUSH
5289: LD_INT 1
5291: ST_TO_ADDR
// un = CreateHuman ;
5292: LD_ADDR_VAR 0 8
5296: PUSH
5297: CALL_OW 44
5301: ST_TO_ADDR
// AmericanPerson = AmericanPerson ^ un ;
5302: LD_ADDR_EXP 6
5306: PUSH
5307: LD_EXP 6
5311: PUSH
5312: LD_VAR 0 8
5316: ADD
5317: ST_TO_ADDR
// PlaceHumanInUnit ( un , armouryAM2 ) ;
5318: LD_VAR 0 8
5322: PPUSH
5323: LD_INT 377
5325: PPUSH
5326: CALL_OW 52
// uc_side = 1 ;
5330: LD_ADDR_OWVAR 20
5334: PUSH
5335: LD_INT 1
5337: ST_TO_ADDR
// uc_nation = 1 ;
5338: LD_ADDR_OWVAR 21
5342: PUSH
5343: LD_INT 1
5345: ST_TO_ADDR
// hc_gallery =  ;
5346: LD_ADDR_OWVAR 33
5350: PUSH
5351: LD_STRING 
5353: ST_TO_ADDR
// hc_name =  ;
5354: LD_ADDR_OWVAR 26
5358: PUSH
5359: LD_STRING 
5361: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
5362: LD_ADDR_OWVAR 29
5366: PUSH
5367: LD_INT 9
5369: PPUSH
5370: LD_INT 11
5372: PPUSH
5373: CALL_OW 12
5377: PUSH
5378: LD_INT 10
5380: PPUSH
5381: LD_INT 12
5383: PPUSH
5384: CALL_OW 12
5388: PUSH
5389: EMPTY
5390: LIST
5391: LIST
5392: ST_TO_ADDR
// hc_skills = [ 5 , 2 , 3 , 2 ] ;
5393: LD_ADDR_OWVAR 31
5397: PUSH
5398: LD_INT 5
5400: PUSH
5401: LD_INT 2
5403: PUSH
5404: LD_INT 3
5406: PUSH
5407: LD_INT 2
5409: PUSH
5410: EMPTY
5411: LIST
5412: LIST
5413: LIST
5414: LIST
5415: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
5416: LD_ADDR_OWVAR 27
5420: PUSH
5421: LD_INT 1
5423: PPUSH
5424: LD_INT 2
5426: PPUSH
5427: CALL_OW 12
5431: ST_TO_ADDR
// hc_class = 1 ;
5432: LD_ADDR_OWVAR 28
5436: PUSH
5437: LD_INT 1
5439: ST_TO_ADDR
// un = CreateHuman ;
5440: LD_ADDR_VAR 0 8
5444: PUSH
5445: CALL_OW 44
5449: ST_TO_ADDR
// AmericanPerson = AmericanPerson ^ un ;
5450: LD_ADDR_EXP 6
5454: PUSH
5455: LD_EXP 6
5459: PUSH
5460: LD_VAR 0 8
5464: ADD
5465: ST_TO_ADDR
// PlaceHumanInUnit ( un , armouryAM2 ) ;
5466: LD_VAR 0 8
5470: PPUSH
5471: LD_INT 377
5473: PPUSH
5474: CALL_OW 52
// end ; end ;
5478: GO 5164
5480: POP
5481: POP
// for i in armouryRU1 do
5482: LD_ADDR_VAR 0 7
5486: PUSH
5487: LD_INT 124
5489: PUSH
5490: FOR_IN
5491: IFFALSE 5706
// begin l = 0 ;
5493: LD_ADDR_VAR 0 9
5497: PUSH
5498: LD_INT 0
5500: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
5501: LD_VAR 0 7
5505: PPUSH
5506: CALL_OW 310
5510: PUSH
5511: LD_INT 0
5513: EQUAL
5514: IFFALSE 5704
// begin repeat begin uc_side = 3 ;
5516: LD_ADDR_OWVAR 20
5520: PUSH
5521: LD_INT 3
5523: ST_TO_ADDR
// uc_nation = 3 ;
5524: LD_ADDR_OWVAR 21
5528: PUSH
5529: LD_INT 3
5531: ST_TO_ADDR
// hc_gallery =  ;
5532: LD_ADDR_OWVAR 33
5536: PUSH
5537: LD_STRING 
5539: ST_TO_ADDR
// hc_name =  ;
5540: LD_ADDR_OWVAR 26
5544: PUSH
5545: LD_STRING 
5547: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
5548: LD_ADDR_OWVAR 29
5552: PUSH
5553: LD_INT 9
5555: PPUSH
5556: LD_INT 11
5558: PPUSH
5559: CALL_OW 12
5563: PUSH
5564: LD_INT 10
5566: PPUSH
5567: LD_INT 12
5569: PPUSH
5570: CALL_OW 12
5574: PUSH
5575: EMPTY
5576: LIST
5577: LIST
5578: ST_TO_ADDR
// hc_skills = [ SolLevel , Rand ( 1 , 4 ) , Rand ( 0 , 3 ) , Rand ( 0 , 2 ) ] ;
5579: LD_ADDR_OWVAR 31
5583: PUSH
5584: LD_VAR 0 10
5588: PUSH
5589: LD_INT 1
5591: PPUSH
5592: LD_INT 4
5594: PPUSH
5595: CALL_OW 12
5599: PUSH
5600: LD_INT 0
5602: PPUSH
5603: LD_INT 3
5605: PPUSH
5606: CALL_OW 12
5610: PUSH
5611: LD_INT 0
5613: PPUSH
5614: LD_INT 2
5616: PPUSH
5617: CALL_OW 12
5621: PUSH
5622: EMPTY
5623: LIST
5624: LIST
5625: LIST
5626: LIST
5627: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
5628: LD_ADDR_OWVAR 27
5632: PUSH
5633: LD_INT 1
5635: PPUSH
5636: LD_INT 2
5638: PPUSH
5639: CALL_OW 12
5643: ST_TO_ADDR
// hc_class = 1 ;
5644: LD_ADDR_OWVAR 28
5648: PUSH
5649: LD_INT 1
5651: ST_TO_ADDR
// un = CreateHuman ;
5652: LD_ADDR_VAR 0 8
5656: PUSH
5657: CALL_OW 44
5661: ST_TO_ADDR
// PlaceHumanInUnit ( un , armouryRU1 ) ;
5662: LD_VAR 0 8
5666: PPUSH
5667: LD_INT 124
5669: PPUSH
5670: CALL_OW 52
// l = l + 1 ;
5674: LD_ADDR_VAR 0 9
5678: PUSH
5679: LD_VAR 0 9
5683: PUSH
5684: LD_INT 1
5686: PLUS
5687: ST_TO_ADDR
// end until l = 4 + MedValue ;
5688: LD_VAR 0 9
5692: PUSH
5693: LD_INT 4
5695: PUSH
5696: LD_VAR 0 3
5700: PLUS
5701: EQUAL
5702: IFFALSE 5516
// end ; end ;
5704: GO 5490
5706: POP
5707: POP
// for i in armouryRU2 do
5708: LD_ADDR_VAR 0 7
5712: PUSH
5713: LD_INT 96
5715: PUSH
5716: FOR_IN
5717: IFFALSE 5932
// begin l = 0 ;
5719: LD_ADDR_VAR 0 9
5723: PUSH
5724: LD_INT 0
5726: ST_TO_ADDR
// if IsInUnit ( i ) = 0 then
5727: LD_VAR 0 7
5731: PPUSH
5732: CALL_OW 310
5736: PUSH
5737: LD_INT 0
5739: EQUAL
5740: IFFALSE 5930
// begin repeat begin uc_side = 3 ;
5742: LD_ADDR_OWVAR 20
5746: PUSH
5747: LD_INT 3
5749: ST_TO_ADDR
// uc_nation = 3 ;
5750: LD_ADDR_OWVAR 21
5754: PUSH
5755: LD_INT 3
5757: ST_TO_ADDR
// hc_gallery =  ;
5758: LD_ADDR_OWVAR 33
5762: PUSH
5763: LD_STRING 
5765: ST_TO_ADDR
// hc_name =  ;
5766: LD_ADDR_OWVAR 26
5770: PUSH
5771: LD_STRING 
5773: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
5774: LD_ADDR_OWVAR 29
5778: PUSH
5779: LD_INT 9
5781: PPUSH
5782: LD_INT 11
5784: PPUSH
5785: CALL_OW 12
5789: PUSH
5790: LD_INT 10
5792: PPUSH
5793: LD_INT 12
5795: PPUSH
5796: CALL_OW 12
5800: PUSH
5801: EMPTY
5802: LIST
5803: LIST
5804: ST_TO_ADDR
// hc_skills = [ SolLevel , Rand ( 1 , 4 ) , Rand ( 0 , 3 ) , Rand ( 0 , 2 ) ] ;
5805: LD_ADDR_OWVAR 31
5809: PUSH
5810: LD_VAR 0 10
5814: PUSH
5815: LD_INT 1
5817: PPUSH
5818: LD_INT 4
5820: PPUSH
5821: CALL_OW 12
5825: PUSH
5826: LD_INT 0
5828: PPUSH
5829: LD_INT 3
5831: PPUSH
5832: CALL_OW 12
5836: PUSH
5837: LD_INT 0
5839: PPUSH
5840: LD_INT 2
5842: PPUSH
5843: CALL_OW 12
5847: PUSH
5848: EMPTY
5849: LIST
5850: LIST
5851: LIST
5852: LIST
5853: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
5854: LD_ADDR_OWVAR 27
5858: PUSH
5859: LD_INT 1
5861: PPUSH
5862: LD_INT 2
5864: PPUSH
5865: CALL_OW 12
5869: ST_TO_ADDR
// hc_class = 1 ;
5870: LD_ADDR_OWVAR 28
5874: PUSH
5875: LD_INT 1
5877: ST_TO_ADDR
// un = CreateHuman ;
5878: LD_ADDR_VAR 0 8
5882: PUSH
5883: CALL_OW 44
5887: ST_TO_ADDR
// PlaceHumanInUnit ( un , armouryRU2 ) ;
5888: LD_VAR 0 8
5892: PPUSH
5893: LD_INT 96
5895: PPUSH
5896: CALL_OW 52
// l = l + 1 ;
5900: LD_ADDR_VAR 0 9
5904: PUSH
5905: LD_VAR 0 9
5909: PUSH
5910: LD_INT 1
5912: PLUS
5913: ST_TO_ADDR
// end until l = 4 + MedValue ;
5914: LD_VAR 0 9
5918: PUSH
5919: LD_INT 4
5921: PUSH
5922: LD_VAR 0 3
5926: PLUS
5927: EQUAL
5928: IFFALSE 5742
// end ; end ;
5930: GO 5716
5932: POP
5933: POP
// end ; end_of_file
5934: LD_VAR 0 1
5938: RET
// every 4 4$00 trigger FilterUnitsInArea ( LeftSciganie , [ [ f_side , 3 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) = 0 marked 100 do
5939: LD_INT 1
5941: PPUSH
5942: LD_INT 22
5944: PUSH
5945: LD_INT 3
5947: PUSH
5948: EMPTY
5949: LIST
5950: LIST
5951: PUSH
5952: LD_INT 21
5954: PUSH
5955: LD_INT 2
5957: PUSH
5958: EMPTY
5959: LIST
5960: LIST
5961: PUSH
5962: LD_INT 33
5964: PUSH
5965: LD_INT 1
5967: PUSH
5968: EMPTY
5969: LIST
5970: LIST
5971: PUSH
5972: EMPTY
5973: LIST
5974: LIST
5975: LIST
5976: PPUSH
5977: CALL_OW 70
5981: PUSH
5982: LD_INT 0
5984: EQUAL
5985: IFFALSE 5994
5987: GO 5989
5989: DISABLE
// begin SpawnVehiclesLeft ;
5990: CALL 5995 0 0
// end ;
5994: END
// export function SpawnVehiclesLeft ; var MechList , Level , un , ve , l ; begin
5995: LD_INT 0
5997: PPUSH
5998: PPUSH
5999: PPUSH
6000: PPUSH
6001: PPUSH
6002: PPUSH
// Level = [ 5 , 6 , 7 ] [ Difficulty ] ;
6003: LD_ADDR_VAR 0 3
6007: PUSH
6008: LD_INT 5
6010: PUSH
6011: LD_INT 6
6013: PUSH
6014: LD_INT 7
6016: PUSH
6017: EMPTY
6018: LIST
6019: LIST
6020: LIST
6021: PUSH
6022: LD_OWVAR 67
6026: ARRAY
6027: ST_TO_ADDR
// l = 0 ;
6028: LD_ADDR_VAR 0 6
6032: PUSH
6033: LD_INT 0
6035: ST_TO_ADDR
// hc_importance = 0 ;
6036: LD_ADDR_OWVAR 32
6040: PUSH
6041: LD_INT 0
6043: ST_TO_ADDR
// repeat vc_chassis = ru_medium_wheeled ;
6044: LD_ADDR_OWVAR 37
6048: PUSH
6049: LD_INT 21
6051: ST_TO_ADDR
// vc_engine = engine_combustion ;
6052: LD_ADDR_OWVAR 39
6056: PUSH
6057: LD_INT 1
6059: ST_TO_ADDR
// vc_control = control_manual ;
6060: LD_ADDR_OWVAR 38
6064: PUSH
6065: LD_INT 1
6067: ST_TO_ADDR
// vc_weapon = ru_gun ;
6068: LD_ADDR_OWVAR 40
6072: PUSH
6073: LD_INT 44
6075: ST_TO_ADDR
// hc_class = 3 ;
6076: LD_ADDR_OWVAR 28
6080: PUSH
6081: LD_INT 3
6083: ST_TO_ADDR
// hc_name =  ;
6084: LD_ADDR_OWVAR 26
6088: PUSH
6089: LD_STRING 
6091: ST_TO_ADDR
// uc_side = 3 ;
6092: LD_ADDR_OWVAR 20
6096: PUSH
6097: LD_INT 3
6099: ST_TO_ADDR
// uc_nation = 3 ;
6100: LD_ADDR_OWVAR 21
6104: PUSH
6105: LD_INT 3
6107: ST_TO_ADDR
// hc_gallery =  ;
6108: LD_ADDR_OWVAR 33
6112: PUSH
6113: LD_STRING 
6115: ST_TO_ADDR
// hc_sex = sex_male ;
6116: LD_ADDR_OWVAR 27
6120: PUSH
6121: LD_INT 1
6123: ST_TO_ADDR
// ve = CreateVehicle ;
6124: LD_ADDR_VAR 0 5
6128: PUSH
6129: CALL_OW 45
6133: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 4 ) , Rand ( 2 , 4 ) , Level , Rand ( 0 , 2 ) ] ;
6134: LD_ADDR_OWVAR 31
6138: PUSH
6139: LD_INT 0
6141: PPUSH
6142: LD_INT 4
6144: PPUSH
6145: CALL_OW 12
6149: PUSH
6150: LD_INT 2
6152: PPUSH
6153: LD_INT 4
6155: PPUSH
6156: CALL_OW 12
6160: PUSH
6161: LD_VAR 0 3
6165: PUSH
6166: LD_INT 0
6168: PPUSH
6169: LD_INT 2
6171: PPUSH
6172: CALL_OW 12
6176: PUSH
6177: EMPTY
6178: LIST
6179: LIST
6180: LIST
6181: LIST
6182: ST_TO_ADDR
// un = CreateHuman ;
6183: LD_ADDR_VAR 0 4
6187: PUSH
6188: CALL_OW 44
6192: ST_TO_ADDR
// PlaceHumanInUnit ( un , ve ) ;
6193: LD_VAR 0 4
6197: PPUSH
6198: LD_VAR 0 5
6202: PPUSH
6203: CALL_OW 52
// PlaceUnitArea ( ve , LeftHelp , false ) ;
6207: LD_VAR 0 5
6211: PPUSH
6212: LD_INT 3
6214: PPUSH
6215: LD_INT 0
6217: PPUSH
6218: CALL_OW 49
// l = l + 1 ;
6222: LD_ADDR_VAR 0 6
6226: PUSH
6227: LD_VAR 0 6
6231: PUSH
6232: LD_INT 1
6234: PLUS
6235: ST_TO_ADDR
// until l = [ 2 , 3 , 3 ] [ Difficulty ] ;
6236: LD_VAR 0 6
6240: PUSH
6241: LD_INT 2
6243: PUSH
6244: LD_INT 3
6246: PUSH
6247: LD_INT 3
6249: PUSH
6250: EMPTY
6251: LIST
6252: LIST
6253: LIST
6254: PUSH
6255: LD_OWVAR 67
6259: ARRAY
6260: EQUAL
6261: IFFALSE 6044
// end ;
6263: LD_VAR 0 1
6267: RET
// every 0 0$01 marked 35 do
6268: GO 6270
6270: DISABLE
// begin enable ;
6271: ENABLE
// if FilterUnitsInArea ( LeftSciganie , [ [ f_side , 4 ] ] ) >= 1 then
6272: LD_INT 1
6274: PPUSH
6275: LD_INT 22
6277: PUSH
6278: LD_INT 4
6280: PUSH
6281: EMPTY
6282: LIST
6283: LIST
6284: PUSH
6285: EMPTY
6286: LIST
6287: PPUSH
6288: CALL_OW 70
6292: PUSH
6293: LD_INT 1
6295: GREATEREQUAL
6296: IFFALSE 6306
// begin enable ( 31 ) ;
6298: LD_INT 31
6300: ENABLE_MARKED
// disable ( 32 ) ;
6301: LD_INT 32
6303: DISABLE_MARKED
// end else
6304: GO 6341
// if FilterUnitsInArea ( LeftSciganie , [ [ f_side , 4 ] ] ) = 0 then
6306: LD_INT 1
6308: PPUSH
6309: LD_INT 22
6311: PUSH
6312: LD_INT 4
6314: PUSH
6315: EMPTY
6316: LIST
6317: LIST
6318: PUSH
6319: EMPTY
6320: LIST
6321: PPUSH
6322: CALL_OW 70
6326: PUSH
6327: LD_INT 0
6329: EQUAL
6330: IFFALSE 6341
// begin disable ( 31 ) ;
6332: LD_INT 31
6334: DISABLE_MARKED
// enable ( 32 ) ;
6335: LD_INT 32
6337: ENABLE_MARKED
// enable ( 36 ) ;
6338: LD_INT 36
6340: ENABLE_MARKED
// end ; end ;
6341: END
// every 0 0$2 marked 32 do var pojazdy , Mech , i ;
6342: GO 6344
6344: DISABLE
6345: LD_INT 0
6347: PPUSH
6348: PPUSH
6349: PPUSH
// begin pojazdy = FilterUnitsInArea ( LeftSciganie , [ [ f_side , 3 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) ;
6350: LD_ADDR_VAR 0 1
6354: PUSH
6355: LD_INT 1
6357: PPUSH
6358: LD_INT 22
6360: PUSH
6361: LD_INT 3
6363: PUSH
6364: EMPTY
6365: LIST
6366: LIST
6367: PUSH
6368: LD_INT 21
6370: PUSH
6371: LD_INT 2
6373: PUSH
6374: EMPTY
6375: LIST
6376: LIST
6377: PUSH
6378: LD_INT 33
6380: PUSH
6381: LD_INT 1
6383: PUSH
6384: EMPTY
6385: LIST
6386: LIST
6387: PUSH
6388: EMPTY
6389: LIST
6390: LIST
6391: LIST
6392: PPUSH
6393: CALL_OW 70
6397: ST_TO_ADDR
// for i in pojazdy do
6398: LD_ADDR_VAR 0 3
6402: PUSH
6403: LD_VAR 0 1
6407: PUSH
6408: FOR_IN
6409: IFFALSE 6527
// begin if GetLives ( i ) < 999 then
6411: LD_VAR 0 3
6415: PPUSH
6416: CALL_OW 256
6420: PUSH
6421: LD_INT 999
6423: LESS
6424: IFFALSE 6513
// begin Mech := IsDrivenBy ( i ) ;
6426: LD_ADDR_VAR 0 2
6430: PUSH
6431: LD_VAR 0 3
6435: PPUSH
6436: CALL_OW 311
6440: ST_TO_ADDR
// comMoveToArea ( i , L1Stop ) ;
6441: LD_VAR 0 3
6445: PPUSH
6446: LD_INT 6
6448: PPUSH
6449: CALL_OW 113
// Wait ( 0 0$1 ) ;
6453: LD_INT 35
6455: PPUSH
6456: CALL_OW 67
// AddComExitVehicle ( Mech ) ;
6460: LD_VAR 0 2
6464: PPUSH
6465: CALL_OW 181
// Wait ( 0 0$1 ) ;
6469: LD_INT 35
6471: PPUSH
6472: CALL_OW 67
// AddComRepairVehicle ( Mech , i ) ;
6476: LD_VAR 0 2
6480: PPUSH
6481: LD_VAR 0 3
6485: PPUSH
6486: CALL_OW 189
// Wait ( 0 0$1 ) ;
6490: LD_INT 35
6492: PPUSH
6493: CALL_OW 67
// AddComEnterUnit ( Mech , i ) ;
6497: LD_VAR 0 2
6501: PPUSH
6502: LD_VAR 0 3
6506: PPUSH
6507: CALL_OW 180
// end else
6511: GO 6525
// begin comMoveToArea ( i , L1Stop ) ;
6513: LD_VAR 0 3
6517: PPUSH
6518: LD_INT 6
6520: PPUSH
6521: CALL_OW 113
// end ; end ;
6525: GO 6408
6527: POP
6528: POP
// disable ;
6529: DISABLE
// end ;
6530: PPOPN 3
6532: END
// every 0 0$01 marked 31 do var i , atakujacy , broniacy , Mech ;
6533: GO 6535
6535: DISABLE
6536: LD_INT 0
6538: PPUSH
6539: PPUSH
6540: PPUSH
6541: PPUSH
// begin broniacy = FilterUnitsInArea ( LeftSciganie , [ f_side , 4 ] ) ;
6542: LD_ADDR_VAR 0 3
6546: PUSH
6547: LD_INT 1
6549: PPUSH
6550: LD_INT 22
6552: PUSH
6553: LD_INT 4
6555: PUSH
6556: EMPTY
6557: LIST
6558: LIST
6559: PPUSH
6560: CALL_OW 70
6564: ST_TO_ADDR
// atakujacy = FilterUnitsInArea ( LeftSciganie , [ [ f_side , 3 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) ;
6565: LD_ADDR_VAR 0 2
6569: PUSH
6570: LD_INT 1
6572: PPUSH
6573: LD_INT 22
6575: PUSH
6576: LD_INT 3
6578: PUSH
6579: EMPTY
6580: LIST
6581: LIST
6582: PUSH
6583: LD_INT 21
6585: PUSH
6586: LD_INT 2
6588: PUSH
6589: EMPTY
6590: LIST
6591: LIST
6592: PUSH
6593: LD_INT 33
6595: PUSH
6596: LD_INT 1
6598: PUSH
6599: EMPTY
6600: LIST
6601: LIST
6602: PUSH
6603: EMPTY
6604: LIST
6605: LIST
6606: LIST
6607: PPUSH
6608: CALL_OW 70
6612: ST_TO_ADDR
// for i in atakujacy do
6613: LD_ADDR_VAR 0 1
6617: PUSH
6618: LD_VAR 0 2
6622: PUSH
6623: FOR_IN
6624: IFFALSE 6664
// begin ComAttackUnit ( i , NearestUnitToUnit ( broniacy , i ) ) ;
6626: LD_VAR 0 1
6630: PPUSH
6631: LD_VAR 0 3
6635: PPUSH
6636: LD_VAR 0 1
6640: PPUSH
6641: CALL_OW 74
6645: PPUSH
6646: CALL_OW 115
// setFuel ( i , 100 ) ;
6650: LD_VAR 0 1
6654: PPUSH
6655: LD_INT 100
6657: PPUSH
6658: CALL_OW 240
// end ;
6662: GO 6623
6664: POP
6665: POP
// end ;
6666: PPOPN 4
6668: END
// every 4 4$00 trigger FilterUnitsInArea ( RightSciganie , [ [ f_side , 3 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) = 0 marked 100 do
6669: LD_INT 2
6671: PPUSH
6672: LD_INT 22
6674: PUSH
6675: LD_INT 3
6677: PUSH
6678: EMPTY
6679: LIST
6680: LIST
6681: PUSH
6682: LD_INT 21
6684: PUSH
6685: LD_INT 2
6687: PUSH
6688: EMPTY
6689: LIST
6690: LIST
6691: PUSH
6692: LD_INT 33
6694: PUSH
6695: LD_INT 1
6697: PUSH
6698: EMPTY
6699: LIST
6700: LIST
6701: PUSH
6702: EMPTY
6703: LIST
6704: LIST
6705: LIST
6706: PPUSH
6707: CALL_OW 70
6711: PUSH
6712: LD_INT 0
6714: EQUAL
6715: IFFALSE 6725
6717: GO 6719
6719: DISABLE
// begin enable ;
6720: ENABLE
// SpawnVehiclesRight ;
6721: CALL 6726 0 0
// end ;
6725: END
// export function SpawnVehiclesRight ; var MechList , Level , un , ve , l ; begin
6726: LD_INT 0
6728: PPUSH
6729: PPUSH
6730: PPUSH
6731: PPUSH
6732: PPUSH
6733: PPUSH
// Level = [ 5 , 6 , 7 ] [ Difficulty ] ;
6734: LD_ADDR_VAR 0 3
6738: PUSH
6739: LD_INT 5
6741: PUSH
6742: LD_INT 6
6744: PUSH
6745: LD_INT 7
6747: PUSH
6748: EMPTY
6749: LIST
6750: LIST
6751: LIST
6752: PUSH
6753: LD_OWVAR 67
6757: ARRAY
6758: ST_TO_ADDR
// l = 0 ;
6759: LD_ADDR_VAR 0 6
6763: PUSH
6764: LD_INT 0
6766: ST_TO_ADDR
// hc_importance = 0 ;
6767: LD_ADDR_OWVAR 32
6771: PUSH
6772: LD_INT 0
6774: ST_TO_ADDR
// repeat vc_chassis = ru_medium_wheeled ;
6775: LD_ADDR_OWVAR 37
6779: PUSH
6780: LD_INT 21
6782: ST_TO_ADDR
// vc_engine = engine_combustion ;
6783: LD_ADDR_OWVAR 39
6787: PUSH
6788: LD_INT 1
6790: ST_TO_ADDR
// vc_control = control_manual ;
6791: LD_ADDR_OWVAR 38
6795: PUSH
6796: LD_INT 1
6798: ST_TO_ADDR
// vc_weapon = ru_gun ;
6799: LD_ADDR_OWVAR 40
6803: PUSH
6804: LD_INT 44
6806: ST_TO_ADDR
// hc_class = 3 ;
6807: LD_ADDR_OWVAR 28
6811: PUSH
6812: LD_INT 3
6814: ST_TO_ADDR
// hc_name =  ;
6815: LD_ADDR_OWVAR 26
6819: PUSH
6820: LD_STRING 
6822: ST_TO_ADDR
// uc_side = 3 ;
6823: LD_ADDR_OWVAR 20
6827: PUSH
6828: LD_INT 3
6830: ST_TO_ADDR
// uc_nation = 3 ;
6831: LD_ADDR_OWVAR 21
6835: PUSH
6836: LD_INT 3
6838: ST_TO_ADDR
// hc_gallery =  ;
6839: LD_ADDR_OWVAR 33
6843: PUSH
6844: LD_STRING 
6846: ST_TO_ADDR
// hc_sex = sex_male ;
6847: LD_ADDR_OWVAR 27
6851: PUSH
6852: LD_INT 1
6854: ST_TO_ADDR
// ve = CreateVehicle ;
6855: LD_ADDR_VAR 0 5
6859: PUSH
6860: CALL_OW 45
6864: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 4 ) , Rand ( 2 , 4 ) , Level , Rand ( 0 , 2 ) ] ;
6865: LD_ADDR_OWVAR 31
6869: PUSH
6870: LD_INT 0
6872: PPUSH
6873: LD_INT 4
6875: PPUSH
6876: CALL_OW 12
6880: PUSH
6881: LD_INT 2
6883: PPUSH
6884: LD_INT 4
6886: PPUSH
6887: CALL_OW 12
6891: PUSH
6892: LD_VAR 0 3
6896: PUSH
6897: LD_INT 0
6899: PPUSH
6900: LD_INT 2
6902: PPUSH
6903: CALL_OW 12
6907: PUSH
6908: EMPTY
6909: LIST
6910: LIST
6911: LIST
6912: LIST
6913: ST_TO_ADDR
// un = CreateHuman ;
6914: LD_ADDR_VAR 0 4
6918: PUSH
6919: CALL_OW 44
6923: ST_TO_ADDR
// PlaceHumanInUnit ( un , ve ) ;
6924: LD_VAR 0 4
6928: PPUSH
6929: LD_VAR 0 5
6933: PPUSH
6934: CALL_OW 52
// PlaceUnitArea ( ve , RightHelp , false ) ;
6938: LD_VAR 0 5
6942: PPUSH
6943: LD_INT 4
6945: PPUSH
6946: LD_INT 0
6948: PPUSH
6949: CALL_OW 49
// l = l + 1 ;
6953: LD_ADDR_VAR 0 6
6957: PUSH
6958: LD_VAR 0 6
6962: PUSH
6963: LD_INT 1
6965: PLUS
6966: ST_TO_ADDR
// until l = [ 2 , 3 , 3 ] [ Difficulty ] ;
6967: LD_VAR 0 6
6971: PUSH
6972: LD_INT 2
6974: PUSH
6975: LD_INT 3
6977: PUSH
6978: LD_INT 3
6980: PUSH
6981: EMPTY
6982: LIST
6983: LIST
6984: LIST
6985: PUSH
6986: LD_OWVAR 67
6990: ARRAY
6991: EQUAL
6992: IFFALSE 6775
// end ;
6994: LD_VAR 0 1
6998: RET
// every 0 0$01 marked 45 do
6999: GO 7001
7001: DISABLE
// begin enable ;
7002: ENABLE
// if FilterUnitsInArea ( RightSciganie , [ [ f_side , 4 ] ] ) >= 1 then
7003: LD_INT 2
7005: PPUSH
7006: LD_INT 22
7008: PUSH
7009: LD_INT 4
7011: PUSH
7012: EMPTY
7013: LIST
7014: LIST
7015: PUSH
7016: EMPTY
7017: LIST
7018: PPUSH
7019: CALL_OW 70
7023: PUSH
7024: LD_INT 1
7026: GREATEREQUAL
7027: IFFALSE 7037
// begin enable ( 41 ) ;
7029: LD_INT 41
7031: ENABLE_MARKED
// disable ( 42 ) ;
7032: LD_INT 42
7034: DISABLE_MARKED
// end else
7035: GO 7072
// if FilterUnitsInArea ( RightSciganie , [ [ f_side , 4 ] ] ) = 0 then
7037: LD_INT 2
7039: PPUSH
7040: LD_INT 22
7042: PUSH
7043: LD_INT 4
7045: PUSH
7046: EMPTY
7047: LIST
7048: LIST
7049: PUSH
7050: EMPTY
7051: LIST
7052: PPUSH
7053: CALL_OW 70
7057: PUSH
7058: LD_INT 0
7060: EQUAL
7061: IFFALSE 7072
// begin disable ( 41 ) ;
7063: LD_INT 41
7065: DISABLE_MARKED
// enable ( 42 ) ;
7066: LD_INT 42
7068: ENABLE_MARKED
// enable ( 46 ) ;
7069: LD_INT 46
7071: ENABLE_MARKED
// end ; end ;
7072: END
// every 0 0$2 marked 42 do var pojazdy , Mech , i ;
7073: GO 7075
7075: DISABLE
7076: LD_INT 0
7078: PPUSH
7079: PPUSH
7080: PPUSH
// begin pojazdy = FilterUnitsInArea ( RightSciganie , [ [ f_side , 3 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) ;
7081: LD_ADDR_VAR 0 1
7085: PUSH
7086: LD_INT 2
7088: PPUSH
7089: LD_INT 22
7091: PUSH
7092: LD_INT 3
7094: PUSH
7095: EMPTY
7096: LIST
7097: LIST
7098: PUSH
7099: LD_INT 21
7101: PUSH
7102: LD_INT 2
7104: PUSH
7105: EMPTY
7106: LIST
7107: LIST
7108: PUSH
7109: LD_INT 33
7111: PUSH
7112: LD_INT 1
7114: PUSH
7115: EMPTY
7116: LIST
7117: LIST
7118: PUSH
7119: EMPTY
7120: LIST
7121: LIST
7122: LIST
7123: PPUSH
7124: CALL_OW 70
7128: ST_TO_ADDR
// for i in pojazdy do
7129: LD_ADDR_VAR 0 3
7133: PUSH
7134: LD_VAR 0 1
7138: PUSH
7139: FOR_IN
7140: IFFALSE 7258
// begin if GetLives ( i ) < 999 then
7142: LD_VAR 0 3
7146: PPUSH
7147: CALL_OW 256
7151: PUSH
7152: LD_INT 999
7154: LESS
7155: IFFALSE 7244
// begin Mech := IsDrivenBy ( i ) ;
7157: LD_ADDR_VAR 0 2
7161: PUSH
7162: LD_VAR 0 3
7166: PPUSH
7167: CALL_OW 311
7171: ST_TO_ADDR
// comMoveToArea ( i , R1Stop ) ;
7172: LD_VAR 0 3
7176: PPUSH
7177: LD_INT 5
7179: PPUSH
7180: CALL_OW 113
// Wait ( 0 0$1 ) ;
7184: LD_INT 35
7186: PPUSH
7187: CALL_OW 67
// AddComExitVehicle ( Mech ) ;
7191: LD_VAR 0 2
7195: PPUSH
7196: CALL_OW 181
// Wait ( 0 0$1 ) ;
7200: LD_INT 35
7202: PPUSH
7203: CALL_OW 67
// AddComRepairVehicle ( Mech , i ) ;
7207: LD_VAR 0 2
7211: PPUSH
7212: LD_VAR 0 3
7216: PPUSH
7217: CALL_OW 189
// Wait ( 0 0$1 ) ;
7221: LD_INT 35
7223: PPUSH
7224: CALL_OW 67
// AddComEnterUnit ( Mech , i ) ;
7228: LD_VAR 0 2
7232: PPUSH
7233: LD_VAR 0 3
7237: PPUSH
7238: CALL_OW 180
// end else
7242: GO 7256
// begin comMoveToArea ( i , R1Stop ) ;
7244: LD_VAR 0 3
7248: PPUSH
7249: LD_INT 5
7251: PPUSH
7252: CALL_OW 113
// end ; end ;
7256: GO 7139
7258: POP
7259: POP
// disable ;
7260: DISABLE
// end ;
7261: PPOPN 3
7263: END
// every 0 0$01 marked 41 do var i , atakujacy , broniacy , Mech ;
7264: GO 7266
7266: DISABLE
7267: LD_INT 0
7269: PPUSH
7270: PPUSH
7271: PPUSH
7272: PPUSH
// begin enable ;
7273: ENABLE
// broniacy = FilterUnitsInArea ( RightSciganie , [ f_side , 4 ] ) ;
7274: LD_ADDR_VAR 0 3
7278: PUSH
7279: LD_INT 2
7281: PPUSH
7282: LD_INT 22
7284: PUSH
7285: LD_INT 4
7287: PUSH
7288: EMPTY
7289: LIST
7290: LIST
7291: PPUSH
7292: CALL_OW 70
7296: ST_TO_ADDR
// atakujacy = FilterUnitsInArea ( RightSciganie , [ [ f_side , 3 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) ;
7297: LD_ADDR_VAR 0 2
7301: PUSH
7302: LD_INT 2
7304: PPUSH
7305: LD_INT 22
7307: PUSH
7308: LD_INT 3
7310: PUSH
7311: EMPTY
7312: LIST
7313: LIST
7314: PUSH
7315: LD_INT 21
7317: PUSH
7318: LD_INT 2
7320: PUSH
7321: EMPTY
7322: LIST
7323: LIST
7324: PUSH
7325: LD_INT 33
7327: PUSH
7328: LD_INT 1
7330: PUSH
7331: EMPTY
7332: LIST
7333: LIST
7334: PUSH
7335: EMPTY
7336: LIST
7337: LIST
7338: LIST
7339: PPUSH
7340: CALL_OW 70
7344: ST_TO_ADDR
// for i in atakujacy do
7345: LD_ADDR_VAR 0 1
7349: PUSH
7350: LD_VAR 0 2
7354: PUSH
7355: FOR_IN
7356: IFFALSE 7396
// begin ComAttackUnit ( i , NearestUnitToUnit ( broniacy , i ) ) ;
7358: LD_VAR 0 1
7362: PPUSH
7363: LD_VAR 0 3
7367: PPUSH
7368: LD_VAR 0 1
7372: PPUSH
7373: CALL_OW 74
7377: PPUSH
7378: CALL_OW 115
// setFuel ( i , 100 ) ;
7382: LD_VAR 0 1
7386: PPUSH
7387: LD_INT 100
7389: PPUSH
7390: CALL_OW 240
// end ;
7394: GO 7355
7396: POP
7397: POP
// end ; end_of_file
7398: PPOPN 4
7400: END
// export Nefarem , Human1 , Human2 , Human3 , UnitsTab , mechAM , docAM , EngAM ; every 0 0$01 do
7401: GO 7403
7403: DISABLE
// begin uc_side = 4 ;
7404: LD_ADDR_OWVAR 20
7408: PUSH
7409: LD_INT 4
7411: ST_TO_ADDR
// uc_nation = 1 ;
7412: LD_ADDR_OWVAR 21
7416: PUSH
7417: LD_INT 1
7419: ST_TO_ADDR
// Nefarem := CreateCharacter ( Nefarem ) ;
7420: LD_ADDR_EXP 7
7424: PUSH
7425: LD_STRING Nefarem
7427: PPUSH
7428: CALL_OW 34
7432: ST_TO_ADDR
// uc_side = 4 ;
7433: LD_ADDR_OWVAR 20
7437: PUSH
7438: LD_INT 4
7440: ST_TO_ADDR
// uc_nation = 1 ;
7441: LD_ADDR_OWVAR 21
7445: PUSH
7446: LD_INT 1
7448: ST_TO_ADDR
// Human1 := CreateCharacter ( Human1 ) ;
7449: LD_ADDR_EXP 8
7453: PUSH
7454: LD_STRING Human1
7456: PPUSH
7457: CALL_OW 34
7461: ST_TO_ADDR
// uc_side = 4 ;
7462: LD_ADDR_OWVAR 20
7466: PUSH
7467: LD_INT 4
7469: ST_TO_ADDR
// uc_nation = 1 ;
7470: LD_ADDR_OWVAR 21
7474: PUSH
7475: LD_INT 1
7477: ST_TO_ADDR
// Human2 := CreateCharacter ( Human2 ) ;
7478: LD_ADDR_EXP 9
7482: PUSH
7483: LD_STRING Human2
7485: PPUSH
7486: CALL_OW 34
7490: ST_TO_ADDR
// uc_side = 4 ;
7491: LD_ADDR_OWVAR 20
7495: PUSH
7496: LD_INT 4
7498: ST_TO_ADDR
// uc_nation = 1 ;
7499: LD_ADDR_OWVAR 21
7503: PUSH
7504: LD_INT 1
7506: ST_TO_ADDR
// Human3 := CreateCharacter ( Human3 ) ;
7507: LD_ADDR_EXP 10
7511: PUSH
7512: LD_STRING Human3
7514: PPUSH
7515: CALL_OW 34
7519: ST_TO_ADDR
// UnitsTab = Human1 ^ Human2 ^ Nefarem ^ Human3 ;
7520: LD_ADDR_EXP 11
7524: PUSH
7525: LD_EXP 8
7529: PUSH
7530: LD_EXP 9
7534: ADD
7535: PUSH
7536: LD_EXP 7
7540: ADD
7541: PUSH
7542: LD_EXP 10
7546: ADD
7547: ST_TO_ADDR
// hc_importance = 100 ;
7548: LD_ADDR_OWVAR 32
7552: PUSH
7553: LD_INT 100
7555: ST_TO_ADDR
// uc_side = 1 ;
7556: LD_ADDR_OWVAR 20
7560: PUSH
7561: LD_INT 1
7563: ST_TO_ADDR
// uc_nation = 1 ;
7564: LD_ADDR_OWVAR 21
7568: PUSH
7569: LD_INT 1
7571: ST_TO_ADDR
// hc_gallery =  ;
7572: LD_ADDR_OWVAR 33
7576: PUSH
7577: LD_STRING 
7579: ST_TO_ADDR
// hc_name =  ;
7580: LD_ADDR_OWVAR 26
7584: PUSH
7585: LD_STRING 
7587: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
7588: LD_ADDR_OWVAR 29
7592: PUSH
7593: LD_INT 9
7595: PPUSH
7596: LD_INT 11
7598: PPUSH
7599: CALL_OW 12
7603: PUSH
7604: LD_INT 10
7606: PPUSH
7607: LD_INT 12
7609: PPUSH
7610: CALL_OW 12
7614: PUSH
7615: EMPTY
7616: LIST
7617: LIST
7618: ST_TO_ADDR
// hc_skills = [ 3 , 3 , 6 , 1 ] ;
7619: LD_ADDR_OWVAR 31
7623: PUSH
7624: LD_INT 3
7626: PUSH
7627: LD_INT 3
7629: PUSH
7630: LD_INT 6
7632: PUSH
7633: LD_INT 1
7635: PUSH
7636: EMPTY
7637: LIST
7638: LIST
7639: LIST
7640: LIST
7641: ST_TO_ADDR
// hc_sex = sex_male ;
7642: LD_ADDR_OWVAR 27
7646: PUSH
7647: LD_INT 1
7649: ST_TO_ADDR
// hc_class = 3 ;
7650: LD_ADDR_OWVAR 28
7654: PUSH
7655: LD_INT 3
7657: ST_TO_ADDR
// mechAM := CreateHuman ;
7658: LD_ADDR_EXP 12
7662: PUSH
7663: CALL_OW 44
7667: ST_TO_ADDR
// hc_importance = 100 ;
7668: LD_ADDR_OWVAR 32
7672: PUSH
7673: LD_INT 100
7675: ST_TO_ADDR
// uc_side = 1 ;
7676: LD_ADDR_OWVAR 20
7680: PUSH
7681: LD_INT 1
7683: ST_TO_ADDR
// uc_nation = 1 ;
7684: LD_ADDR_OWVAR 21
7688: PUSH
7689: LD_INT 1
7691: ST_TO_ADDR
// hc_gallery =  ;
7692: LD_ADDR_OWVAR 33
7696: PUSH
7697: LD_STRING 
7699: ST_TO_ADDR
// hc_name =  ;
7700: LD_ADDR_OWVAR 26
7704: PUSH
7705: LD_STRING 
7707: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
7708: LD_ADDR_OWVAR 29
7712: PUSH
7713: LD_INT 9
7715: PPUSH
7716: LD_INT 11
7718: PPUSH
7719: CALL_OW 12
7723: PUSH
7724: LD_INT 10
7726: PPUSH
7727: LD_INT 12
7729: PPUSH
7730: CALL_OW 12
7734: PUSH
7735: EMPTY
7736: LIST
7737: LIST
7738: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 2 ) , 6 , Rand ( 1 , 3 ) , Rand ( 0 , 4 ) ] ;
7739: LD_ADDR_OWVAR 31
7743: PUSH
7744: LD_INT 0
7746: PPUSH
7747: LD_INT 2
7749: PPUSH
7750: CALL_OW 12
7754: PUSH
7755: LD_INT 6
7757: PUSH
7758: LD_INT 1
7760: PPUSH
7761: LD_INT 3
7763: PPUSH
7764: CALL_OW 12
7768: PUSH
7769: LD_INT 0
7771: PPUSH
7772: LD_INT 4
7774: PPUSH
7775: CALL_OW 12
7779: PUSH
7780: EMPTY
7781: LIST
7782: LIST
7783: LIST
7784: LIST
7785: ST_TO_ADDR
// hc_sex = sex_male ;
7786: LD_ADDR_OWVAR 27
7790: PUSH
7791: LD_INT 1
7793: ST_TO_ADDR
// hc_class = 2 ;
7794: LD_ADDR_OWVAR 28
7798: PUSH
7799: LD_INT 2
7801: ST_TO_ADDR
// engAM := CreateHuman ;
7802: LD_ADDR_EXP 14
7806: PUSH
7807: CALL_OW 44
7811: ST_TO_ADDR
// PlaceHumanInUnit ( engAM , depotAM2 ) ;
7812: LD_EXP 14
7816: PPUSH
7817: LD_INT 480
7819: PPUSH
7820: CALL_OW 52
// hc_importance = 100 ;
7824: LD_ADDR_OWVAR 32
7828: PUSH
7829: LD_INT 100
7831: ST_TO_ADDR
// uc_side = 1 ;
7832: LD_ADDR_OWVAR 20
7836: PUSH
7837: LD_INT 1
7839: ST_TO_ADDR
// uc_nation = 1 ;
7840: LD_ADDR_OWVAR 21
7844: PUSH
7845: LD_INT 1
7847: ST_TO_ADDR
// hc_gallery =  ;
7848: LD_ADDR_OWVAR 33
7852: PUSH
7853: LD_STRING 
7855: ST_TO_ADDR
// hc_name =  ;
7856: LD_ADDR_OWVAR 26
7860: PUSH
7861: LD_STRING 
7863: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
7864: LD_ADDR_OWVAR 29
7868: PUSH
7869: LD_INT 9
7871: PPUSH
7872: LD_INT 11
7874: PPUSH
7875: CALL_OW 12
7879: PUSH
7880: LD_INT 10
7882: PPUSH
7883: LD_INT 12
7885: PPUSH
7886: CALL_OW 12
7890: PUSH
7891: EMPTY
7892: LIST
7893: LIST
7894: ST_TO_ADDR
// hc_skills = [ 0 , 2 , 4 , 7 ] ;
7895: LD_ADDR_OWVAR 31
7899: PUSH
7900: LD_INT 0
7902: PUSH
7903: LD_INT 2
7905: PUSH
7906: LD_INT 4
7908: PUSH
7909: LD_INT 7
7911: PUSH
7912: EMPTY
7913: LIST
7914: LIST
7915: LIST
7916: LIST
7917: ST_TO_ADDR
// hc_sex = sex_male ;
7918: LD_ADDR_OWVAR 27
7922: PUSH
7923: LD_INT 1
7925: ST_TO_ADDR
// hc_class = 4 ;
7926: LD_ADDR_OWVAR 28
7930: PUSH
7931: LD_INT 4
7933: ST_TO_ADDR
// docAM := CreateHuman ;
7934: LD_ADDR_EXP 13
7938: PUSH
7939: CALL_OW 44
7943: ST_TO_ADDR
// PlaceHumanInUnit ( docAM , labAM1 ) ;
7944: LD_EXP 13
7948: PPUSH
7949: LD_INT 463
7951: PPUSH
7952: CALL_OW 52
// end ;
7956: END
// every 0 0$01 do var tab , i , p , x , veh , filter ;
7957: GO 7959
7959: DISABLE
7960: LD_INT 0
7962: PPUSH
7963: PPUSH
7964: PPUSH
7965: PPUSH
7966: PPUSH
7967: PPUSH
// begin uc_side := 4 ;
7968: LD_ADDR_OWVAR 20
7972: PUSH
7973: LD_INT 4
7975: ST_TO_ADDR
// Center = 1 ;
7976: LD_ADDR_EXP 5
7980: PUSH
7981: LD_INT 1
7983: ST_TO_ADDR
// tab := LoadVariable ( unit_vehs , [ ] ) ;
7984: LD_ADDR_VAR 0 1
7988: PUSH
7989: LD_STRING unit_vehs
7991: PPUSH
7992: EMPTY
7993: PPUSH
7994: CALL_OW 30
7998: ST_TO_ADDR
// x := 1 ;
7999: LD_ADDR_VAR 0 4
8003: PUSH
8004: LD_INT 1
8006: ST_TO_ADDR
// i := 1 ;
8007: LD_ADDR_VAR 0 2
8011: PUSH
8012: LD_INT 1
8014: ST_TO_ADDR
// p := 1 ;
8015: LD_ADDR_VAR 0 3
8019: PUSH
8020: LD_INT 1
8022: ST_TO_ADDR
// if tab > 0 then
8023: LD_VAR 0 1
8027: PUSH
8028: LD_INT 0
8030: GREATER
8031: IFFALSE 8292
// while ( i <= tab ) do
8033: LD_VAR 0 2
8037: PUSH
8038: LD_VAR 0 1
8042: LESSEQUAL
8043: IFFALSE 8292
// begin vc_chassis := tab [ i ] ;
8045: LD_ADDR_OWVAR 37
8049: PUSH
8050: LD_VAR 0 1
8054: PUSH
8055: LD_VAR 0 2
8059: ARRAY
8060: ST_TO_ADDR
// vc_engine := tab [ i + 1 ] ;
8061: LD_ADDR_OWVAR 39
8065: PUSH
8066: LD_VAR 0 1
8070: PUSH
8071: LD_VAR 0 2
8075: PUSH
8076: LD_INT 1
8078: PLUS
8079: ARRAY
8080: ST_TO_ADDR
// vc_control := tab [ i + 2 ] ;
8081: LD_ADDR_OWVAR 38
8085: PUSH
8086: LD_VAR 0 1
8090: PUSH
8091: LD_VAR 0 2
8095: PUSH
8096: LD_INT 2
8098: PLUS
8099: ARRAY
8100: ST_TO_ADDR
// vc_weapon := tab [ i + 3 ] ;
8101: LD_ADDR_OWVAR 40
8105: PUSH
8106: LD_VAR 0 1
8110: PUSH
8111: LD_VAR 0 2
8115: PUSH
8116: LD_INT 3
8118: PLUS
8119: ARRAY
8120: ST_TO_ADDR
// veh := CreateVehicle ;
8121: LD_ADDR_VAR 0 5
8125: PUSH
8126: CALL_OW 45
8130: ST_TO_ADDR
// Poj = Poj ^ veh ;
8131: LD_ADDR_EXP 26
8135: PUSH
8136: LD_EXP 26
8140: PUSH
8141: LD_VAR 0 5
8145: ADD
8146: ST_TO_ADDR
// PlaceUnitArea ( veh , Start , false ) ;
8147: LD_VAR 0 5
8151: PPUSH
8152: LD_INT 8
8154: PPUSH
8155: LD_INT 0
8157: PPUSH
8158: CALL_OW 49
// PlaceHumanInUnit ( UnitsTab [ x ] , veh ) ;
8162: LD_EXP 11
8166: PUSH
8167: LD_VAR 0 4
8171: ARRAY
8172: PPUSH
8173: LD_VAR 0 5
8177: PPUSH
8178: CALL_OW 52
// wait ( 0 0$01 ) ;
8182: LD_INT 35
8184: PPUSH
8185: CALL_OW 67
// ComMoveXY ( veh , 58 , 52 ) ;
8189: LD_VAR 0 5
8193: PPUSH
8194: LD_INT 58
8196: PPUSH
8197: LD_INT 52
8199: PPUSH
8200: CALL_OW 111
// wait ( 0 0$01 ) ;
8204: LD_INT 35
8206: PPUSH
8207: CALL_OW 67
// AddComMoveXY ( veh , 97 , 45 ) ;
8211: LD_VAR 0 5
8215: PPUSH
8216: LD_INT 97
8218: PPUSH
8219: LD_INT 45
8221: PPUSH
8222: CALL_OW 171
// wait ( 0 0$01 ) ;
8226: LD_INT 35
8228: PPUSH
8229: CALL_OW 67
// AddComMoveXY ( veh , 131 , 18 ) ;
8233: LD_VAR 0 5
8237: PPUSH
8238: LD_INT 131
8240: PPUSH
8241: LD_INT 18
8243: PPUSH
8244: CALL_OW 171
// p := p + 1 ;
8248: LD_ADDR_VAR 0 3
8252: PUSH
8253: LD_VAR 0 3
8257: PUSH
8258: LD_INT 1
8260: PLUS
8261: ST_TO_ADDR
// i := i + 4 ;
8262: LD_ADDR_VAR 0 2
8266: PUSH
8267: LD_VAR 0 2
8271: PUSH
8272: LD_INT 4
8274: PLUS
8275: ST_TO_ADDR
// x := x + 1 ;
8276: LD_ADDR_VAR 0 4
8280: PUSH
8281: LD_VAR 0 4
8285: PUSH
8286: LD_INT 1
8288: PLUS
8289: ST_TO_ADDR
// end ;
8290: GO 8033
// end ; end_of_file
8292: PPOPN 6
8294: END
// every 0 0$01 do var EnginerList , EnginerListOutside , buildings , i ;
8295: GO 8297
8297: DISABLE
8298: LD_INT 0
8300: PPUSH
8301: PPUSH
8302: PPUSH
8303: PPUSH
// begin enable ;
8304: ENABLE
// EnginerList := UnitsInside ( depotRU1 ) ;
8305: LD_ADDR_VAR 0 1
8309: PUSH
8310: LD_INT 57
8312: PPUSH
8313: CALL_OW 313
8317: ST_TO_ADDR
// buildings := FilterUnitsInArea ( Ru3Base , [ [ [ f_side , 3 ] , [ f_type , unit_building ] , [ f_not , [ f_lives , 1000 ] ] ] ] ) ;
8318: LD_ADDR_VAR 0 3
8322: PUSH
8323: LD_INT 7
8325: PPUSH
8326: LD_INT 22
8328: PUSH
8329: LD_INT 3
8331: PUSH
8332: EMPTY
8333: LIST
8334: LIST
8335: PUSH
8336: LD_INT 21
8338: PUSH
8339: LD_INT 3
8341: PUSH
8342: EMPTY
8343: LIST
8344: LIST
8345: PUSH
8346: LD_INT 3
8348: PUSH
8349: LD_INT 24
8351: PUSH
8352: LD_INT 1000
8354: PUSH
8355: EMPTY
8356: LIST
8357: LIST
8358: PUSH
8359: EMPTY
8360: LIST
8361: LIST
8362: PUSH
8363: EMPTY
8364: LIST
8365: LIST
8366: LIST
8367: PUSH
8368: EMPTY
8369: LIST
8370: PPUSH
8371: CALL_OW 70
8375: ST_TO_ADDR
// EnginerListOutside := FilterAllUnits ( [ [ [ f_side , 3 ] , [ f_class , 2 ] ] ] ) ;
8376: LD_ADDR_VAR 0 2
8380: PUSH
8381: LD_INT 22
8383: PUSH
8384: LD_INT 3
8386: PUSH
8387: EMPTY
8388: LIST
8389: LIST
8390: PUSH
8391: LD_INT 25
8393: PUSH
8394: LD_INT 2
8396: PUSH
8397: EMPTY
8398: LIST
8399: LIST
8400: PUSH
8401: EMPTY
8402: LIST
8403: LIST
8404: PUSH
8405: EMPTY
8406: LIST
8407: PPUSH
8408: CALL_OW 69
8412: ST_TO_ADDR
// if buildings > 0 then
8413: LD_VAR 0 3
8417: PUSH
8418: LD_INT 0
8420: GREATER
8421: IFFALSE 8604
// begin repeat buildings := FilterUnitsInArea ( Ru3Base , [ [ [ f_side , 3 ] , [ f_type , unit_building ] , [ f_not , [ f_lives , 1000 ] ] ] ] ) ;
8423: LD_ADDR_VAR 0 3
8427: PUSH
8428: LD_INT 7
8430: PPUSH
8431: LD_INT 22
8433: PUSH
8434: LD_INT 3
8436: PUSH
8437: EMPTY
8438: LIST
8439: LIST
8440: PUSH
8441: LD_INT 21
8443: PUSH
8444: LD_INT 3
8446: PUSH
8447: EMPTY
8448: LIST
8449: LIST
8450: PUSH
8451: LD_INT 3
8453: PUSH
8454: LD_INT 24
8456: PUSH
8457: LD_INT 1000
8459: PUSH
8460: EMPTY
8461: LIST
8462: LIST
8463: PUSH
8464: EMPTY
8465: LIST
8466: LIST
8467: PUSH
8468: EMPTY
8469: LIST
8470: LIST
8471: LIST
8472: PUSH
8473: EMPTY
8474: LIST
8475: PPUSH
8476: CALL_OW 70
8480: ST_TO_ADDR
// for i = 1 to EnginerList do
8481: LD_ADDR_VAR 0 4
8485: PUSH
8486: DOUBLE
8487: LD_INT 1
8489: DEC
8490: ST_TO_ADDR
8491: LD_VAR 0 1
8495: PUSH
8496: FOR_TO
8497: IFFALSE 8583
// begin if IsInUnit ( EnginerList [ i ] ) then
8499: LD_VAR 0 1
8503: PUSH
8504: LD_VAR 0 4
8508: ARRAY
8509: PPUSH
8510: CALL_OW 310
8514: IFFALSE 8557
// begin ComExitBuilding ( EnginerList [ i ] ) ;
8516: LD_VAR 0 1
8520: PUSH
8521: LD_VAR 0 4
8525: ARRAY
8526: PPUSH
8527: CALL_OW 122
// AddComRepairBuilding ( EnginerList [ i ] , buildings [ 1 ] ) ;
8531: LD_VAR 0 1
8535: PUSH
8536: LD_VAR 0 4
8540: ARRAY
8541: PPUSH
8542: LD_VAR 0 3
8546: PUSH
8547: LD_INT 1
8549: ARRAY
8550: PPUSH
8551: CALL_OW 190
// end else
8555: GO 8581
// AddComRepairBuilding ( EnginerList [ i ] , buildings [ 1 ] ) ;
8557: LD_VAR 0 1
8561: PUSH
8562: LD_VAR 0 4
8566: ARRAY
8567: PPUSH
8568: LD_VAR 0 3
8572: PUSH
8573: LD_INT 1
8575: ARRAY
8576: PPUSH
8577: CALL_OW 190
// end ;
8581: GO 8496
8583: POP
8584: POP
// wait ( 0 0$04 ) ;
8585: LD_INT 140
8587: PPUSH
8588: CALL_OW 67
// until buildings = 0 end else
8592: LD_VAR 0 3
8596: PUSH
8597: LD_INT 0
8599: EQUAL
8600: IFFALSE 8423
8602: GO 8654
// if buildings = 0 then
8604: LD_VAR 0 3
8608: PUSH
8609: LD_INT 0
8611: EQUAL
8612: IFFALSE 8654
// begin for i = 1 to EnginerListOutside do
8614: LD_ADDR_VAR 0 4
8618: PUSH
8619: DOUBLE
8620: LD_INT 1
8622: DEC
8623: ST_TO_ADDR
8624: LD_VAR 0 2
8628: PUSH
8629: FOR_TO
8630: IFFALSE 8652
// begin ComEnterUnit ( EnginerListOutside [ i ] , depotRU1 ) ;
8632: LD_VAR 0 2
8636: PUSH
8637: LD_VAR 0 4
8641: ARRAY
8642: PPUSH
8643: LD_INT 57
8645: PPUSH
8646: CALL_OW 120
// end ;
8650: GO 8629
8652: POP
8653: POP
// end ; end ; end_of_file
8654: PPOPN 4
8656: END
// every 6 6$00 trigger FilterUnitsInArea ( AreaDefend , [ [ f_side , 6 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) = 0 marked 100 do var MechList , Level , un , ve , Chasis , weap , l , x ;
8657: LD_INT 9
8659: PPUSH
8660: LD_INT 22
8662: PUSH
8663: LD_INT 6
8665: PUSH
8666: EMPTY
8667: LIST
8668: LIST
8669: PUSH
8670: LD_INT 21
8672: PUSH
8673: LD_INT 2
8675: PUSH
8676: EMPTY
8677: LIST
8678: LIST
8679: PUSH
8680: LD_INT 33
8682: PUSH
8683: LD_INT 1
8685: PUSH
8686: EMPTY
8687: LIST
8688: LIST
8689: PUSH
8690: EMPTY
8691: LIST
8692: LIST
8693: LIST
8694: PPUSH
8695: CALL_OW 70
8699: PUSH
8700: LD_INT 0
8702: EQUAL
8703: IFFALSE 9063
8705: GO 8707
8707: DISABLE
8708: LD_INT 0
8710: PPUSH
8711: PPUSH
8712: PPUSH
8713: PPUSH
8714: PPUSH
8715: PPUSH
8716: PPUSH
8717: PPUSH
// begin enable ;
8718: ENABLE
// Level = [ 5 , 6 , 7 ] [ Difficulty ] ;
8719: LD_ADDR_VAR 0 2
8723: PUSH
8724: LD_INT 5
8726: PUSH
8727: LD_INT 6
8729: PUSH
8730: LD_INT 7
8732: PUSH
8733: EMPTY
8734: LIST
8735: LIST
8736: LIST
8737: PUSH
8738: LD_OWVAR 67
8742: ARRAY
8743: ST_TO_ADDR
// Chasis = [ ru_medium_tracked , ru_medium_tracked , ru_heavy_tracked ] [ Difficulty ] ;
8744: LD_ADDR_VAR 0 5
8748: PUSH
8749: LD_INT 22
8751: PUSH
8752: LD_INT 22
8754: PUSH
8755: LD_INT 24
8757: PUSH
8758: EMPTY
8759: LIST
8760: LIST
8761: LIST
8762: PUSH
8763: LD_OWVAR 67
8767: ARRAY
8768: ST_TO_ADDR
// weap = [ ru_gun , ru_gun , ru_heavy_gun ] [ Difficulty ] ;
8769: LD_ADDR_VAR 0 6
8773: PUSH
8774: LD_INT 44
8776: PUSH
8777: LD_INT 44
8779: PUSH
8780: LD_INT 46
8782: PUSH
8783: EMPTY
8784: LIST
8785: LIST
8786: LIST
8787: PUSH
8788: LD_OWVAR 67
8792: ARRAY
8793: ST_TO_ADDR
// x = [ 2 , 3 , 3 ] [ Difficulty ] ;
8794: LD_ADDR_VAR 0 8
8798: PUSH
8799: LD_INT 2
8801: PUSH
8802: LD_INT 3
8804: PUSH
8805: LD_INT 3
8807: PUSH
8808: EMPTY
8809: LIST
8810: LIST
8811: LIST
8812: PUSH
8813: LD_OWVAR 67
8817: ARRAY
8818: ST_TO_ADDR
// l = 0 ;
8819: LD_ADDR_VAR 0 7
8823: PUSH
8824: LD_INT 0
8826: ST_TO_ADDR
// hc_importance = 0 ;
8827: LD_ADDR_OWVAR 32
8831: PUSH
8832: LD_INT 0
8834: ST_TO_ADDR
// repeat vc_chassis = Chasis ;
8835: LD_ADDR_OWVAR 37
8839: PUSH
8840: LD_VAR 0 5
8844: ST_TO_ADDR
// vc_engine = engine_combustion ;
8845: LD_ADDR_OWVAR 39
8849: PUSH
8850: LD_INT 1
8852: ST_TO_ADDR
// vc_control = control_manual ;
8853: LD_ADDR_OWVAR 38
8857: PUSH
8858: LD_INT 1
8860: ST_TO_ADDR
// if l = 3 then
8861: LD_VAR 0 7
8865: PUSH
8866: LD_INT 3
8868: EQUAL
8869: IFFALSE 8883
// begin vc_weapon = weap ;
8871: LD_ADDR_OWVAR 40
8875: PUSH
8876: LD_VAR 0 6
8880: ST_TO_ADDR
// end else
8881: GO 8891
// begin vc_weapon = ru_gun ;
8883: LD_ADDR_OWVAR 40
8887: PUSH
8888: LD_INT 44
8890: ST_TO_ADDR
// end ; hc_class = 3 ;
8891: LD_ADDR_OWVAR 28
8895: PUSH
8896: LD_INT 3
8898: ST_TO_ADDR
// hc_name =  ;
8899: LD_ADDR_OWVAR 26
8903: PUSH
8904: LD_STRING 
8906: ST_TO_ADDR
// uc_side = 6 ;
8907: LD_ADDR_OWVAR 20
8911: PUSH
8912: LD_INT 6
8914: ST_TO_ADDR
// uc_nation = 3 ;
8915: LD_ADDR_OWVAR 21
8919: PUSH
8920: LD_INT 3
8922: ST_TO_ADDR
// hc_gallery =  ;
8923: LD_ADDR_OWVAR 33
8927: PUSH
8928: LD_STRING 
8930: ST_TO_ADDR
// hc_sex = sex_male ;
8931: LD_ADDR_OWVAR 27
8935: PUSH
8936: LD_INT 1
8938: ST_TO_ADDR
// ve = CreateVehicle ;
8939: LD_ADDR_VAR 0 4
8943: PUSH
8944: CALL_OW 45
8948: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 4 ) , Rand ( 2 , 4 ) , Level , Rand ( 0 , 2 ) ] ;
8949: LD_ADDR_OWVAR 31
8953: PUSH
8954: LD_INT 0
8956: PPUSH
8957: LD_INT 4
8959: PPUSH
8960: CALL_OW 12
8964: PUSH
8965: LD_INT 2
8967: PPUSH
8968: LD_INT 4
8970: PPUSH
8971: CALL_OW 12
8975: PUSH
8976: LD_VAR 0 2
8980: PUSH
8981: LD_INT 0
8983: PPUSH
8984: LD_INT 2
8986: PPUSH
8987: CALL_OW 12
8991: PUSH
8992: EMPTY
8993: LIST
8994: LIST
8995: LIST
8996: LIST
8997: ST_TO_ADDR
// un = CreateHuman ;
8998: LD_ADDR_VAR 0 3
9002: PUSH
9003: CALL_OW 44
9007: ST_TO_ADDR
// PlaceHumanInUnit ( un , ve ) ;
9008: LD_VAR 0 3
9012: PPUSH
9013: LD_VAR 0 4
9017: PPUSH
9018: CALL_OW 52
// PlaceUnitArea ( ve , SpawnDefend , false ) ;
9022: LD_VAR 0 4
9026: PPUSH
9027: LD_INT 10
9029: PPUSH
9030: LD_INT 0
9032: PPUSH
9033: CALL_OW 49
// l = l + 1 ;
9037: LD_ADDR_VAR 0 7
9041: PUSH
9042: LD_VAR 0 7
9046: PUSH
9047: LD_INT 1
9049: PLUS
9050: ST_TO_ADDR
// until l = x ;
9051: LD_VAR 0 7
9055: PUSH
9056: LD_VAR 0 8
9060: EQUAL
9061: IFFALSE 8835
// end ;
9063: PPOPN 8
9065: END
// every 0 0$01 marked 65 do
9066: GO 9068
9068: DISABLE
// begin enable ;
9069: ENABLE
// if FilterAllUnits ( [ [ f_side , 4 ] , [ f_inarea , AreaDefend ] ] ) >= 1 then
9070: LD_INT 22
9072: PUSH
9073: LD_INT 4
9075: PUSH
9076: EMPTY
9077: LIST
9078: LIST
9079: PUSH
9080: LD_INT 95
9082: PUSH
9083: LD_INT 9
9085: PUSH
9086: EMPTY
9087: LIST
9088: LIST
9089: PUSH
9090: EMPTY
9091: LIST
9092: LIST
9093: PPUSH
9094: CALL_OW 69
9098: PUSH
9099: LD_INT 1
9101: GREATEREQUAL
9102: IFFALSE 9112
// begin enable ( 61 ) ;
9104: LD_INT 61
9106: ENABLE_MARKED
// disable ( 62 ) ;
9107: LD_INT 62
9109: DISABLE_MARKED
// end else
9110: GO 9155
// if FilterAllUnits ( [ [ f_side , 4 ] , [ f_inarea , AreaDefend ] ] ) = 0 then
9112: LD_INT 22
9114: PUSH
9115: LD_INT 4
9117: PUSH
9118: EMPTY
9119: LIST
9120: LIST
9121: PUSH
9122: LD_INT 95
9124: PUSH
9125: LD_INT 9
9127: PUSH
9128: EMPTY
9129: LIST
9130: LIST
9131: PUSH
9132: EMPTY
9133: LIST
9134: LIST
9135: PPUSH
9136: CALL_OW 69
9140: PUSH
9141: LD_INT 0
9143: EQUAL
9144: IFFALSE 9155
// begin disable ( 61 ) ;
9146: LD_INT 61
9148: DISABLE_MARKED
// enable ( 62 ) ;
9149: LD_INT 62
9151: ENABLE_MARKED
// enable ( 66 ) ;
9152: LD_INT 66
9154: ENABLE_MARKED
// end ; end ;
9155: END
// every 0 0$2 marked 62 do var pojazdy , Mech , i ;
9156: GO 9158
9158: DISABLE
9159: LD_INT 0
9161: PPUSH
9162: PPUSH
9163: PPUSH
// begin pojazdy = FilterUnitsInArea ( AreaDefend , [ [ f_side , 6 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) ;
9164: LD_ADDR_VAR 0 1
9168: PUSH
9169: LD_INT 9
9171: PPUSH
9172: LD_INT 22
9174: PUSH
9175: LD_INT 6
9177: PUSH
9178: EMPTY
9179: LIST
9180: LIST
9181: PUSH
9182: LD_INT 21
9184: PUSH
9185: LD_INT 2
9187: PUSH
9188: EMPTY
9189: LIST
9190: LIST
9191: PUSH
9192: LD_INT 33
9194: PUSH
9195: LD_INT 1
9197: PUSH
9198: EMPTY
9199: LIST
9200: LIST
9201: PUSH
9202: EMPTY
9203: LIST
9204: LIST
9205: LIST
9206: PPUSH
9207: CALL_OW 70
9211: ST_TO_ADDR
// for i in pojazdy do
9212: LD_ADDR_VAR 0 3
9216: PUSH
9217: LD_VAR 0 1
9221: PUSH
9222: FOR_IN
9223: IFFALSE 9341
// begin if GetLives ( i ) < 999 then
9225: LD_VAR 0 3
9229: PPUSH
9230: CALL_OW 256
9234: PUSH
9235: LD_INT 999
9237: LESS
9238: IFFALSE 9327
// begin Mech := IsDrivenBy ( i ) ;
9240: LD_ADDR_VAR 0 2
9244: PUSH
9245: LD_VAR 0 3
9249: PPUSH
9250: CALL_OW 311
9254: ST_TO_ADDR
// comMoveToArea ( i , DefendStop ) ;
9255: LD_VAR 0 3
9259: PPUSH
9260: LD_INT 11
9262: PPUSH
9263: CALL_OW 113
// Wait ( 0 0$1 ) ;
9267: LD_INT 35
9269: PPUSH
9270: CALL_OW 67
// AddComExitVehicle ( Mech ) ;
9274: LD_VAR 0 2
9278: PPUSH
9279: CALL_OW 181
// Wait ( 0 0$1 ) ;
9283: LD_INT 35
9285: PPUSH
9286: CALL_OW 67
// AddComRepairVehicle ( Mech , i ) ;
9290: LD_VAR 0 2
9294: PPUSH
9295: LD_VAR 0 3
9299: PPUSH
9300: CALL_OW 189
// Wait ( 0 0$1 ) ;
9304: LD_INT 35
9306: PPUSH
9307: CALL_OW 67
// AddComEnterUnit ( Mech , i ) ;
9311: LD_VAR 0 2
9315: PPUSH
9316: LD_VAR 0 3
9320: PPUSH
9321: CALL_OW 180
// end else
9325: GO 9339
// begin comMoveToArea ( i , DefendStop ) ;
9327: LD_VAR 0 3
9331: PPUSH
9332: LD_INT 11
9334: PPUSH
9335: CALL_OW 113
// end ; end ;
9339: GO 9222
9341: POP
9342: POP
// disable ;
9343: DISABLE
// end ;
9344: PPOPN 3
9346: END
// every 0 0$02 marked 61 do var i , atakujacy , broniacy , Mech ;
9347: GO 9349
9349: DISABLE
9350: LD_INT 0
9352: PPUSH
9353: PPUSH
9354: PPUSH
9355: PPUSH
// begin enable ;
9356: ENABLE
// broniacy = FilterUnitsInArea ( AreaDefend , [ f_side , 4 ] ) ;
9357: LD_ADDR_VAR 0 3
9361: PUSH
9362: LD_INT 9
9364: PPUSH
9365: LD_INT 22
9367: PUSH
9368: LD_INT 4
9370: PUSH
9371: EMPTY
9372: LIST
9373: LIST
9374: PPUSH
9375: CALL_OW 70
9379: ST_TO_ADDR
// atakujacy = FilterUnitsInArea ( AreaDefend , [ [ f_side , 6 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) ;
9380: LD_ADDR_VAR 0 2
9384: PUSH
9385: LD_INT 9
9387: PPUSH
9388: LD_INT 22
9390: PUSH
9391: LD_INT 6
9393: PUSH
9394: EMPTY
9395: LIST
9396: LIST
9397: PUSH
9398: LD_INT 21
9400: PUSH
9401: LD_INT 2
9403: PUSH
9404: EMPTY
9405: LIST
9406: LIST
9407: PUSH
9408: LD_INT 33
9410: PUSH
9411: LD_INT 1
9413: PUSH
9414: EMPTY
9415: LIST
9416: LIST
9417: PUSH
9418: EMPTY
9419: LIST
9420: LIST
9421: LIST
9422: PPUSH
9423: CALL_OW 70
9427: ST_TO_ADDR
// for i in atakujacy do
9428: LD_ADDR_VAR 0 1
9432: PUSH
9433: LD_VAR 0 2
9437: PUSH
9438: FOR_IN
9439: IFFALSE 9581
// begin if GetLives ( i ) < 600 then
9441: LD_VAR 0 1
9445: PPUSH
9446: CALL_OW 256
9450: PUSH
9451: LD_INT 600
9453: LESS
9454: IFFALSE 9543
// begin Mech := IsDrivenBy ( i ) ;
9456: LD_ADDR_VAR 0 4
9460: PUSH
9461: LD_VAR 0 1
9465: PPUSH
9466: CALL_OW 311
9470: ST_TO_ADDR
// ComMoveToArea ( i , DefendStop ) ;
9471: LD_VAR 0 1
9475: PPUSH
9476: LD_INT 11
9478: PPUSH
9479: CALL_OW 113
// Wait ( 0 0$1 ) ;
9483: LD_INT 35
9485: PPUSH
9486: CALL_OW 67
// AddComExitVehicle ( Mech ) ;
9490: LD_VAR 0 4
9494: PPUSH
9495: CALL_OW 181
// Wait ( 0 0$1 ) ;
9499: LD_INT 35
9501: PPUSH
9502: CALL_OW 67
// AddComRepairVehicle ( Mech , i ) ;
9506: LD_VAR 0 4
9510: PPUSH
9511: LD_VAR 0 1
9515: PPUSH
9516: CALL_OW 189
// Wait ( 0 0$1 ) ;
9520: LD_INT 35
9522: PPUSH
9523: CALL_OW 67
// AddComEnterUnit ( Mech , i ) ;
9527: LD_VAR 0 4
9531: PPUSH
9532: LD_VAR 0 1
9536: PPUSH
9537: CALL_OW 180
// end else
9541: GO 9567
// ComAttackUnit ( i , NearestUnitToUnit ( broniacy , i ) ) ;
9543: LD_VAR 0 1
9547: PPUSH
9548: LD_VAR 0 3
9552: PPUSH
9553: LD_VAR 0 1
9557: PPUSH
9558: CALL_OW 74
9562: PPUSH
9563: CALL_OW 115
// setFuel ( i , 100 ) ;
9567: LD_VAR 0 1
9571: PPUSH
9572: LD_INT 100
9574: PPUSH
9575: CALL_OW 240
// end ;
9579: GO 9438
9581: POP
9582: POP
// end ; end_of_file
9583: PPOPN 4
9585: END
// export b , x1 , y1 , z1 , obrona , spawnarea , BigAttack ; every 4 4$30 marked 1000 do
9586: GO 9588
9588: DISABLE
// begin enable ;
9589: ENABLE
// Randomize ;
9590: CALL_OW 10
// case Rand ( 1 , 3 ) of 1 :
9594: LD_INT 1
9596: PPUSH
9597: LD_INT 3
9599: PPUSH
9600: CALL_OW 12
9604: PUSH
9605: LD_INT 1
9607: DOUBLE
9608: EQUAL
9609: IFTRUE 9613
9611: GO 9859
9613: POP
// begin case Rand ( 1 , 3 ) of 1 :
9614: LD_INT 1
9616: PPUSH
9617: LD_INT 3
9619: PPUSH
9620: CALL_OW 12
9624: PUSH
9625: LD_INT 1
9627: DOUBLE
9628: EQUAL
9629: IFTRUE 9633
9631: GO 9702
9633: POP
// begin x1 = x1 + 1 ;
9634: LD_ADDR_EXP 16
9638: PUSH
9639: LD_EXP 16
9643: PUSH
9644: LD_INT 1
9646: PLUS
9647: ST_TO_ADDR
// obrona = FilterUnitsInArea ( BaseX , [ [ f_side , 4 ] ] ) ;
9648: LD_ADDR_EXP 19
9652: PUSH
9653: LD_INT 12
9655: PPUSH
9656: LD_INT 22
9658: PUSH
9659: LD_INT 4
9661: PUSH
9662: EMPTY
9663: LIST
9664: LIST
9665: PUSH
9666: EMPTY
9667: LIST
9668: PPUSH
9669: CALL_OW 70
9673: ST_TO_ADDR
// spawnarea = AttackXLeft ;
9674: LD_ADDR_EXP 20
9678: PUSH
9679: LD_INT 15
9681: ST_TO_ADDR
// BigAttack = BigAttack + 1 ;
9682: LD_ADDR_EXP 21
9686: PUSH
9687: LD_EXP 21
9691: PUSH
9692: LD_INT 1
9694: PLUS
9695: ST_TO_ADDR
// LowAttack ;
9696: CALL 11130 0 0
// end ; 2 :
9700: GO 9857
9702: LD_INT 2
9704: DOUBLE
9705: EQUAL
9706: IFTRUE 9710
9708: GO 9779
9710: POP
// begin x1 = x1 + 1 ;
9711: LD_ADDR_EXP 16
9715: PUSH
9716: LD_EXP 16
9720: PUSH
9721: LD_INT 1
9723: PLUS
9724: ST_TO_ADDR
// obrona = FilterUnitsInArea ( BaseX , [ [ f_side , 4 ] ] ) ;
9725: LD_ADDR_EXP 19
9729: PUSH
9730: LD_INT 12
9732: PPUSH
9733: LD_INT 22
9735: PUSH
9736: LD_INT 4
9738: PUSH
9739: EMPTY
9740: LIST
9741: LIST
9742: PUSH
9743: EMPTY
9744: LIST
9745: PPUSH
9746: CALL_OW 70
9750: ST_TO_ADDR
// spawnarea = SpawnDefend ;
9751: LD_ADDR_EXP 20
9755: PUSH
9756: LD_INT 10
9758: ST_TO_ADDR
// LowAttack ;
9759: CALL 11130 0 0
// BigAttack = BigAttack + 1 ;
9763: LD_ADDR_EXP 21
9767: PUSH
9768: LD_EXP 21
9772: PUSH
9773: LD_INT 1
9775: PLUS
9776: ST_TO_ADDR
// end ; 3 :
9777: GO 9857
9779: LD_INT 3
9781: DOUBLE
9782: EQUAL
9783: IFTRUE 9787
9785: GO 9856
9787: POP
// begin x1 = x1 + 1 ;
9788: LD_ADDR_EXP 16
9792: PUSH
9793: LD_EXP 16
9797: PUSH
9798: LD_INT 1
9800: PLUS
9801: ST_TO_ADDR
// obrona = FilterUnitsInArea ( BaseX , [ [ f_side , 4 ] ] ) ;
9802: LD_ADDR_EXP 19
9806: PUSH
9807: LD_INT 12
9809: PPUSH
9810: LD_INT 22
9812: PUSH
9813: LD_INT 4
9815: PUSH
9816: EMPTY
9817: LIST
9818: LIST
9819: PUSH
9820: EMPTY
9821: LIST
9822: PPUSH
9823: CALL_OW 70
9827: ST_TO_ADDR
// spawnarea = LeftHelp ;
9828: LD_ADDR_EXP 20
9832: PUSH
9833: LD_INT 3
9835: ST_TO_ADDR
// LowAttack ;
9836: CALL 11130 0 0
// BigAttack = BigAttack + 1 ;
9840: LD_ADDR_EXP 21
9844: PUSH
9845: LD_EXP 21
9849: PUSH
9850: LD_INT 1
9852: PLUS
9853: ST_TO_ADDR
// end ; end ;
9854: GO 9857
9856: POP
// end ; 2 :
9857: GO 10368
9859: LD_INT 2
9861: DOUBLE
9862: EQUAL
9863: IFTRUE 9867
9865: GO 10113
9867: POP
// begin case Rand ( 1 , 3 ) of 1 :
9868: LD_INT 1
9870: PPUSH
9871: LD_INT 3
9873: PPUSH
9874: CALL_OW 12
9878: PUSH
9879: LD_INT 1
9881: DOUBLE
9882: EQUAL
9883: IFTRUE 9887
9885: GO 9956
9887: POP
// begin y1 = y1 + 1 ;
9888: LD_ADDR_EXP 17
9892: PUSH
9893: LD_EXP 17
9897: PUSH
9898: LD_INT 1
9900: PLUS
9901: ST_TO_ADDR
// obrona = FilterUnitsInArea ( BaseY , [ [ f_side , 4 ] ] ) ;
9902: LD_ADDR_EXP 19
9906: PUSH
9907: LD_INT 13
9909: PPUSH
9910: LD_INT 22
9912: PUSH
9913: LD_INT 4
9915: PUSH
9916: EMPTY
9917: LIST
9918: LIST
9919: PUSH
9920: EMPTY
9921: LIST
9922: PPUSH
9923: CALL_OW 70
9927: ST_TO_ADDR
// spawnarea = LeftHelp ;
9928: LD_ADDR_EXP 20
9932: PUSH
9933: LD_INT 3
9935: ST_TO_ADDR
// LowAttack ;
9936: CALL 11130 0 0
// BigAttack = BigAttack + 1 ;
9940: LD_ADDR_EXP 21
9944: PUSH
9945: LD_EXP 21
9949: PUSH
9950: LD_INT 1
9952: PLUS
9953: ST_TO_ADDR
// end ; 2 :
9954: GO 10111
9956: LD_INT 2
9958: DOUBLE
9959: EQUAL
9960: IFTRUE 9964
9962: GO 10033
9964: POP
// begin y1 = y1 + 1 ;
9965: LD_ADDR_EXP 17
9969: PUSH
9970: LD_EXP 17
9974: PUSH
9975: LD_INT 1
9977: PLUS
9978: ST_TO_ADDR
// obrona = FilterUnitsInArea ( BaseY , [ [ f_side , 4 ] ] ) ;
9979: LD_ADDR_EXP 19
9983: PUSH
9984: LD_INT 13
9986: PPUSH
9987: LD_INT 22
9989: PUSH
9990: LD_INT 4
9992: PUSH
9993: EMPTY
9994: LIST
9995: LIST
9996: PUSH
9997: EMPTY
9998: LIST
9999: PPUSH
10000: CALL_OW 70
10004: ST_TO_ADDR
// spawnarea = RightHelp ;
10005: LD_ADDR_EXP 20
10009: PUSH
10010: LD_INT 4
10012: ST_TO_ADDR
// LowAttack ;
10013: CALL 11130 0 0
// BigAttack = BigAttack + 1 ;
10017: LD_ADDR_EXP 21
10021: PUSH
10022: LD_EXP 21
10026: PUSH
10027: LD_INT 1
10029: PLUS
10030: ST_TO_ADDR
// end ; 3 :
10031: GO 10111
10033: LD_INT 3
10035: DOUBLE
10036: EQUAL
10037: IFTRUE 10041
10039: GO 10110
10041: POP
// begin y1 = y1 + 1 ;
10042: LD_ADDR_EXP 17
10046: PUSH
10047: LD_EXP 17
10051: PUSH
10052: LD_INT 1
10054: PLUS
10055: ST_TO_ADDR
// obrona = FilterUnitsInArea ( BaseY , [ [ f_side , 4 ] ] ) ;
10056: LD_ADDR_EXP 19
10060: PUSH
10061: LD_INT 13
10063: PPUSH
10064: LD_INT 22
10066: PUSH
10067: LD_INT 4
10069: PUSH
10070: EMPTY
10071: LIST
10072: LIST
10073: PUSH
10074: EMPTY
10075: LIST
10076: PPUSH
10077: CALL_OW 70
10081: ST_TO_ADDR
// spawnarea = AttackYRight ;
10082: LD_ADDR_EXP 20
10086: PUSH
10087: LD_INT 16
10089: ST_TO_ADDR
// LowAttack ;
10090: CALL 11130 0 0
// BigAttack = BigAttack + 1 ;
10094: LD_ADDR_EXP 21
10098: PUSH
10099: LD_EXP 21
10103: PUSH
10104: LD_INT 1
10106: PLUS
10107: ST_TO_ADDR
// end ; end ;
10108: GO 10111
10110: POP
// end ; 3 :
10111: GO 10368
10113: LD_INT 3
10115: DOUBLE
10116: EQUAL
10117: IFTRUE 10121
10119: GO 10367
10121: POP
// begin case Rand ( 1 , 3 ) of 1 :
10122: LD_INT 1
10124: PPUSH
10125: LD_INT 3
10127: PPUSH
10128: CALL_OW 12
10132: PUSH
10133: LD_INT 1
10135: DOUBLE
10136: EQUAL
10137: IFTRUE 10141
10139: GO 10210
10141: POP
// begin z1 = z1 + 1 ;
10142: LD_ADDR_EXP 18
10146: PUSH
10147: LD_EXP 18
10151: PUSH
10152: LD_INT 1
10154: PLUS
10155: ST_TO_ADDR
// obrona = FilterUnitsInArea ( BaseZ , [ [ f_side , 4 ] ] ) ;
10156: LD_ADDR_EXP 19
10160: PUSH
10161: LD_INT 14
10163: PPUSH
10164: LD_INT 22
10166: PUSH
10167: LD_INT 4
10169: PUSH
10170: EMPTY
10171: LIST
10172: LIST
10173: PUSH
10174: EMPTY
10175: LIST
10176: PPUSH
10177: CALL_OW 70
10181: ST_TO_ADDR
// spawnarea = RightHelp ;
10182: LD_ADDR_EXP 20
10186: PUSH
10187: LD_INT 4
10189: ST_TO_ADDR
// LowAttack ;
10190: CALL 11130 0 0
// BigAttack = BigAttack + 1 ;
10194: LD_ADDR_EXP 21
10198: PUSH
10199: LD_EXP 21
10203: PUSH
10204: LD_INT 1
10206: PLUS
10207: ST_TO_ADDR
// end ; 2 :
10208: GO 10365
10210: LD_INT 2
10212: DOUBLE
10213: EQUAL
10214: IFTRUE 10218
10216: GO 10287
10218: POP
// begin z1 = z1 + 1 ;
10219: LD_ADDR_EXP 18
10223: PUSH
10224: LD_EXP 18
10228: PUSH
10229: LD_INT 1
10231: PLUS
10232: ST_TO_ADDR
// obrona = FilterUnitsInArea ( BaseZ , [ [ f_side , 4 ] ] ) ;
10233: LD_ADDR_EXP 19
10237: PUSH
10238: LD_INT 14
10240: PPUSH
10241: LD_INT 22
10243: PUSH
10244: LD_INT 4
10246: PUSH
10247: EMPTY
10248: LIST
10249: LIST
10250: PUSH
10251: EMPTY
10252: LIST
10253: PPUSH
10254: CALL_OW 70
10258: ST_TO_ADDR
// spawnarea = ZUP ;
10259: LD_ADDR_EXP 20
10263: PUSH
10264: LD_INT 18
10266: ST_TO_ADDR
// LowAttack ;
10267: CALL 11130 0 0
// BigAttack = BigAttack + 1 ;
10271: LD_ADDR_EXP 21
10275: PUSH
10276: LD_EXP 21
10280: PUSH
10281: LD_INT 1
10283: PLUS
10284: ST_TO_ADDR
// end ; 3 :
10285: GO 10365
10287: LD_INT 3
10289: DOUBLE
10290: EQUAL
10291: IFTRUE 10295
10293: GO 10364
10295: POP
// begin z1 = z1 + 1 ;
10296: LD_ADDR_EXP 18
10300: PUSH
10301: LD_EXP 18
10305: PUSH
10306: LD_INT 1
10308: PLUS
10309: ST_TO_ADDR
// obrona = FilterUnitsInArea ( BaseZ , [ [ f_side , 4 ] ] ) ;
10310: LD_ADDR_EXP 19
10314: PUSH
10315: LD_INT 14
10317: PPUSH
10318: LD_INT 22
10320: PUSH
10321: LD_INT 4
10323: PUSH
10324: EMPTY
10325: LIST
10326: LIST
10327: PUSH
10328: EMPTY
10329: LIST
10330: PPUSH
10331: CALL_OW 70
10335: ST_TO_ADDR
// spawnarea = ZRight ;
10336: LD_ADDR_EXP 20
10340: PUSH
10341: LD_INT 17
10343: ST_TO_ADDR
// BigAttack = BigAttack + 1 ;
10344: LD_ADDR_EXP 21
10348: PUSH
10349: LD_EXP 21
10353: PUSH
10354: LD_INT 1
10356: PLUS
10357: ST_TO_ADDR
// LowAttack ;
10358: CALL 11130 0 0
// end ; end ;
10362: GO 10365
10364: POP
// end ; end ;
10365: GO 10368
10367: POP
// end ;
10368: END
// every 0 0$01 trigger BigAttack = 3 do
10369: LD_EXP 21
10373: PUSH
10374: LD_INT 3
10376: EQUAL
10377: IFFALSE 10949
10379: GO 10381
10381: DISABLE
// begin Randomize ;
10382: CALL_OW 10
// disable ( 1000 ) ;
10386: LD_INT 1000
10388: DISABLE_MARKED
// BigAttack = 0 ;
10389: LD_ADDR_EXP 21
10393: PUSH
10394: LD_INT 0
10396: ST_TO_ADDR
// wait ( 3 3$00 ) ;
10397: LD_INT 6300
10399: PPUSH
10400: CALL_OW 67
// if x1 = 0 then
10404: LD_EXP 16
10408: PUSH
10409: LD_INT 0
10411: EQUAL
10412: IFFALSE 10575
// begin case Rand ( 1 , 3 ) of 1 :
10414: LD_INT 1
10416: PPUSH
10417: LD_INT 3
10419: PPUSH
10420: CALL_OW 12
10424: PUSH
10425: LD_INT 1
10427: DOUBLE
10428: EQUAL
10429: IFTRUE 10433
10431: GO 10474
10433: POP
// begin obrona = FilterUnitsInArea ( BaseX , [ [ f_side , 4 ] ] ) ;
10434: LD_ADDR_EXP 19
10438: PUSH
10439: LD_INT 12
10441: PPUSH
10442: LD_INT 22
10444: PUSH
10445: LD_INT 4
10447: PUSH
10448: EMPTY
10449: LIST
10450: LIST
10451: PUSH
10452: EMPTY
10453: LIST
10454: PPUSH
10455: CALL_OW 70
10459: ST_TO_ADDR
// spawnarea = AttackXLeft ;
10460: LD_ADDR_EXP 20
10464: PUSH
10465: LD_INT 15
10467: ST_TO_ADDR
// BigAttackGO ;
10468: CALL 11778 0 0
// end ; 2 :
10472: GO 10573
10474: LD_INT 2
10476: DOUBLE
10477: EQUAL
10478: IFTRUE 10482
10480: GO 10523
10482: POP
// begin obrona = FilterUnitsInArea ( BaseX , [ [ f_side , 4 ] ] ) ;
10483: LD_ADDR_EXP 19
10487: PUSH
10488: LD_INT 12
10490: PPUSH
10491: LD_INT 22
10493: PUSH
10494: LD_INT 4
10496: PUSH
10497: EMPTY
10498: LIST
10499: LIST
10500: PUSH
10501: EMPTY
10502: LIST
10503: PPUSH
10504: CALL_OW 70
10508: ST_TO_ADDR
// spawnarea = SpawnDefend ;
10509: LD_ADDR_EXP 20
10513: PUSH
10514: LD_INT 10
10516: ST_TO_ADDR
// BigAttackGO ;
10517: CALL 11778 0 0
// end ; 3 :
10521: GO 10573
10523: LD_INT 3
10525: DOUBLE
10526: EQUAL
10527: IFTRUE 10531
10529: GO 10572
10531: POP
// begin obrona = FilterUnitsInArea ( BaseX , [ [ f_side , 4 ] ] ) ;
10532: LD_ADDR_EXP 19
10536: PUSH
10537: LD_INT 12
10539: PPUSH
10540: LD_INT 22
10542: PUSH
10543: LD_INT 4
10545: PUSH
10546: EMPTY
10547: LIST
10548: LIST
10549: PUSH
10550: EMPTY
10551: LIST
10552: PPUSH
10553: CALL_OW 70
10557: ST_TO_ADDR
// spawnarea = LeftHelp ;
10558: LD_ADDR_EXP 20
10562: PUSH
10563: LD_INT 3
10565: ST_TO_ADDR
// BigAttackGO ;
10566: CALL 11778 0 0
// end ; end ;
10570: GO 10573
10572: POP
// end else
10573: GO 10915
// if y1 = 0 then
10575: LD_EXP 17
10579: PUSH
10580: LD_INT 0
10582: EQUAL
10583: IFFALSE 10746
// begin case Rand ( 1 , 3 ) of 1 :
10585: LD_INT 1
10587: PPUSH
10588: LD_INT 3
10590: PPUSH
10591: CALL_OW 12
10595: PUSH
10596: LD_INT 1
10598: DOUBLE
10599: EQUAL
10600: IFTRUE 10604
10602: GO 10645
10604: POP
// begin obrona = FilterUnitsInArea ( BaseY , [ [ f_side , 4 ] ] ) ;
10605: LD_ADDR_EXP 19
10609: PUSH
10610: LD_INT 13
10612: PPUSH
10613: LD_INT 22
10615: PUSH
10616: LD_INT 4
10618: PUSH
10619: EMPTY
10620: LIST
10621: LIST
10622: PUSH
10623: EMPTY
10624: LIST
10625: PPUSH
10626: CALL_OW 70
10630: ST_TO_ADDR
// spawnarea = LeftHelp ;
10631: LD_ADDR_EXP 20
10635: PUSH
10636: LD_INT 3
10638: ST_TO_ADDR
// BigAttackGO ;
10639: CALL 11778 0 0
// end ; 2 :
10643: GO 10744
10645: LD_INT 2
10647: DOUBLE
10648: EQUAL
10649: IFTRUE 10653
10651: GO 10694
10653: POP
// begin obrona = FilterUnitsInArea ( BaseY , [ [ f_side , 4 ] ] ) ;
10654: LD_ADDR_EXP 19
10658: PUSH
10659: LD_INT 13
10661: PPUSH
10662: LD_INT 22
10664: PUSH
10665: LD_INT 4
10667: PUSH
10668: EMPTY
10669: LIST
10670: LIST
10671: PUSH
10672: EMPTY
10673: LIST
10674: PPUSH
10675: CALL_OW 70
10679: ST_TO_ADDR
// spawnarea = RightHelp ;
10680: LD_ADDR_EXP 20
10684: PUSH
10685: LD_INT 4
10687: ST_TO_ADDR
// BigAttackGO ;
10688: CALL 11778 0 0
// end ; 3 :
10692: GO 10744
10694: LD_INT 3
10696: DOUBLE
10697: EQUAL
10698: IFTRUE 10702
10700: GO 10743
10702: POP
// begin obrona = FilterUnitsInArea ( BaseY , [ [ f_side , 4 ] ] ) ;
10703: LD_ADDR_EXP 19
10707: PUSH
10708: LD_INT 13
10710: PPUSH
10711: LD_INT 22
10713: PUSH
10714: LD_INT 4
10716: PUSH
10717: EMPTY
10718: LIST
10719: LIST
10720: PUSH
10721: EMPTY
10722: LIST
10723: PPUSH
10724: CALL_OW 70
10728: ST_TO_ADDR
// spawnarea = AttackYRight ;
10729: LD_ADDR_EXP 20
10733: PUSH
10734: LD_INT 16
10736: ST_TO_ADDR
// BigAttackGO ;
10737: CALL 11778 0 0
// end ; end ;
10741: GO 10744
10743: POP
// end else
10744: GO 10915
// if z1 = 0 then
10746: LD_EXP 18
10750: PUSH
10751: LD_INT 0
10753: EQUAL
10754: IFFALSE 10915
// begin case Rand ( 1 , 3 ) of 1 :
10756: LD_INT 1
10758: PPUSH
10759: LD_INT 3
10761: PPUSH
10762: CALL_OW 12
10766: PUSH
10767: LD_INT 1
10769: DOUBLE
10770: EQUAL
10771: IFTRUE 10775
10773: GO 10816
10775: POP
// begin obrona = FilterUnitsInArea ( BaseZ , [ [ f_side , 4 ] ] ) ;
10776: LD_ADDR_EXP 19
10780: PUSH
10781: LD_INT 14
10783: PPUSH
10784: LD_INT 22
10786: PUSH
10787: LD_INT 4
10789: PUSH
10790: EMPTY
10791: LIST
10792: LIST
10793: PUSH
10794: EMPTY
10795: LIST
10796: PPUSH
10797: CALL_OW 70
10801: ST_TO_ADDR
// spawnarea = RightHelp ;
10802: LD_ADDR_EXP 20
10806: PUSH
10807: LD_INT 4
10809: ST_TO_ADDR
// BigAttackGO ;
10810: CALL 11778 0 0
// end ; 2 :
10814: GO 10915
10816: LD_INT 2
10818: DOUBLE
10819: EQUAL
10820: IFTRUE 10824
10822: GO 10865
10824: POP
// begin obrona = FilterUnitsInArea ( BaseZ , [ [ f_side , 4 ] ] ) ;
10825: LD_ADDR_EXP 19
10829: PUSH
10830: LD_INT 14
10832: PPUSH
10833: LD_INT 22
10835: PUSH
10836: LD_INT 4
10838: PUSH
10839: EMPTY
10840: LIST
10841: LIST
10842: PUSH
10843: EMPTY
10844: LIST
10845: PPUSH
10846: CALL_OW 70
10850: ST_TO_ADDR
// spawnarea = ZUP ;
10851: LD_ADDR_EXP 20
10855: PUSH
10856: LD_INT 18
10858: ST_TO_ADDR
// BigAttackGO ;
10859: CALL 11778 0 0
// end ; 3 :
10863: GO 10915
10865: LD_INT 3
10867: DOUBLE
10868: EQUAL
10869: IFTRUE 10873
10871: GO 10914
10873: POP
// begin obrona = FilterUnitsInArea ( BaseZ , [ [ f_side , 4 ] ] ) ;
10874: LD_ADDR_EXP 19
10878: PUSH
10879: LD_INT 14
10881: PPUSH
10882: LD_INT 22
10884: PUSH
10885: LD_INT 4
10887: PUSH
10888: EMPTY
10889: LIST
10890: LIST
10891: PUSH
10892: EMPTY
10893: LIST
10894: PPUSH
10895: CALL_OW 70
10899: ST_TO_ADDR
// spawnarea = ZRight ;
10900: LD_ADDR_EXP 20
10904: PUSH
10905: LD_INT 17
10907: ST_TO_ADDR
// BigAttackGO ;
10908: CALL 11778 0 0
// end ; end ;
10912: GO 10915
10914: POP
// end ; wait ( 3 3$30 ) ;
10915: LD_INT 7350
10917: PPUSH
10918: CALL_OW 67
// x1 = 0 ;
10922: LD_ADDR_EXP 16
10926: PUSH
10927: LD_INT 0
10929: ST_TO_ADDR
// z1 = 0 ;
10930: LD_ADDR_EXP 18
10934: PUSH
10935: LD_INT 0
10937: ST_TO_ADDR
// y1 = 0 ;
10938: LD_ADDR_EXP 17
10942: PUSH
10943: LD_INT 0
10945: ST_TO_ADDR
// enable ( 1000 ) ;
10946: LD_INT 1000
10948: ENABLE_MARKED
// end ;
10949: END
// every 0 0$02 do var i , atak ;
10950: GO 10952
10952: DISABLE
10953: LD_INT 0
10955: PPUSH
10956: PPUSH
// begin enable ;
10957: ENABLE
// atak = FilterAllUnits ( [ [ f_side , 5 ] , [ f_type , unit_vehicle ] , [ f_control , Control_manual ] ] ) ^ FilterAllUnits ( [ [ f_side , 5 ] , [ f_type , unit_vehicle ] , [ f_control , Control_computer ] ] ) ^ FilterAllUnits ( [ [ f_side , 5 ] , [ f_type , unit_human ] ] ) ;
10958: LD_ADDR_VAR 0 2
10962: PUSH
10963: LD_INT 22
10965: PUSH
10966: LD_INT 5
10968: PUSH
10969: EMPTY
10970: LIST
10971: LIST
10972: PUSH
10973: LD_INT 21
10975: PUSH
10976: LD_INT 2
10978: PUSH
10979: EMPTY
10980: LIST
10981: LIST
10982: PUSH
10983: LD_INT 33
10985: PUSH
10986: LD_INT 1
10988: PUSH
10989: EMPTY
10990: LIST
10991: LIST
10992: PUSH
10993: EMPTY
10994: LIST
10995: LIST
10996: LIST
10997: PPUSH
10998: CALL_OW 69
11002: PUSH
11003: LD_INT 22
11005: PUSH
11006: LD_INT 5
11008: PUSH
11009: EMPTY
11010: LIST
11011: LIST
11012: PUSH
11013: LD_INT 21
11015: PUSH
11016: LD_INT 2
11018: PUSH
11019: EMPTY
11020: LIST
11021: LIST
11022: PUSH
11023: LD_INT 33
11025: PUSH
11026: LD_INT 3
11028: PUSH
11029: EMPTY
11030: LIST
11031: LIST
11032: PUSH
11033: EMPTY
11034: LIST
11035: LIST
11036: LIST
11037: PPUSH
11038: CALL_OW 69
11042: ADD
11043: PUSH
11044: LD_INT 22
11046: PUSH
11047: LD_INT 5
11049: PUSH
11050: EMPTY
11051: LIST
11052: LIST
11053: PUSH
11054: LD_INT 21
11056: PUSH
11057: LD_INT 1
11059: PUSH
11060: EMPTY
11061: LIST
11062: LIST
11063: PUSH
11064: EMPTY
11065: LIST
11066: LIST
11067: PPUSH
11068: CALL_OW 69
11072: ADD
11073: ST_TO_ADDR
// for i in atak do
11074: LD_ADDR_VAR 0 1
11078: PUSH
11079: LD_VAR 0 2
11083: PUSH
11084: FOR_IN
11085: IFFALSE 11125
// begin ComAttackUnit ( i , NearestUnitToUnit ( obrona , i ) ) ;
11087: LD_VAR 0 1
11091: PPUSH
11092: LD_EXP 19
11096: PPUSH
11097: LD_VAR 0 1
11101: PPUSH
11102: CALL_OW 74
11106: PPUSH
11107: CALL_OW 115
// setFuel ( i , 100 ) ;
11111: LD_VAR 0 1
11115: PPUSH
11116: LD_INT 100
11118: PPUSH
11119: CALL_OW 240
// end ;
11123: GO 11084
11125: POP
11126: POP
// end ; end_of_file
11127: PPOPN 2
11129: END
// export function LowAttack ; var MechList , Level , LevelS , un , ve , Chasis , weap , l , h ; begin
11130: LD_INT 0
11132: PPUSH
11133: PPUSH
11134: PPUSH
11135: PPUSH
11136: PPUSH
11137: PPUSH
11138: PPUSH
11139: PPUSH
11140: PPUSH
11141: PPUSH
// Level = [ 5 , 6 , 6 ] [ Difficulty ] ;
11142: LD_ADDR_VAR 0 3
11146: PUSH
11147: LD_INT 5
11149: PUSH
11150: LD_INT 6
11152: PUSH
11153: LD_INT 6
11155: PUSH
11156: EMPTY
11157: LIST
11158: LIST
11159: LIST
11160: PUSH
11161: LD_OWVAR 67
11165: ARRAY
11166: ST_TO_ADDR
// LevelS = [ 5 , 6 , 7 ] [ Difficulty ] ;
11167: LD_ADDR_VAR 0 4
11171: PUSH
11172: LD_INT 5
11174: PUSH
11175: LD_INT 6
11177: PUSH
11178: LD_INT 7
11180: PUSH
11181: EMPTY
11182: LIST
11183: LIST
11184: LIST
11185: PUSH
11186: LD_OWVAR 67
11190: ARRAY
11191: ST_TO_ADDR
// Chasis = [ ru_medium_wheeled , ru_medium_tracked , ru_heavy_wheeled ] [ Difficulty ] ;
11192: LD_ADDR_VAR 0 7
11196: PUSH
11197: LD_INT 21
11199: PUSH
11200: LD_INT 22
11202: PUSH
11203: LD_INT 23
11205: PUSH
11206: EMPTY
11207: LIST
11208: LIST
11209: LIST
11210: PUSH
11211: LD_OWVAR 67
11215: ARRAY
11216: ST_TO_ADDR
// l = 0 ;
11217: LD_ADDR_VAR 0 9
11221: PUSH
11222: LD_INT 0
11224: ST_TO_ADDR
// h = [ 4 , 5 , 5 ] [ Difficulty ] ;
11225: LD_ADDR_VAR 0 10
11229: PUSH
11230: LD_INT 4
11232: PUSH
11233: LD_INT 5
11235: PUSH
11236: LD_INT 5
11238: PUSH
11239: EMPTY
11240: LIST
11241: LIST
11242: LIST
11243: PUSH
11244: LD_OWVAR 67
11248: ARRAY
11249: ST_TO_ADDR
// hc_importance = 0 ;
11250: LD_ADDR_OWVAR 32
11254: PUSH
11255: LD_INT 0
11257: ST_TO_ADDR
// vc_chassis = Chasis ;
11258: LD_ADDR_OWVAR 37
11262: PUSH
11263: LD_VAR 0 7
11267: ST_TO_ADDR
// vc_engine = engine_combustion ;
11268: LD_ADDR_OWVAR 39
11272: PUSH
11273: LD_INT 1
11275: ST_TO_ADDR
// vc_control = control_manual ;
11276: LD_ADDR_OWVAR 38
11280: PUSH
11281: LD_INT 1
11283: ST_TO_ADDR
// vc_weapon = ru_gun ;
11284: LD_ADDR_OWVAR 40
11288: PUSH
11289: LD_INT 44
11291: ST_TO_ADDR
// hc_class = 3 ;
11292: LD_ADDR_OWVAR 28
11296: PUSH
11297: LD_INT 3
11299: ST_TO_ADDR
// hc_name =  ;
11300: LD_ADDR_OWVAR 26
11304: PUSH
11305: LD_STRING 
11307: ST_TO_ADDR
// uc_side = 5 ;
11308: LD_ADDR_OWVAR 20
11312: PUSH
11313: LD_INT 5
11315: ST_TO_ADDR
// uc_nation = 3 ;
11316: LD_ADDR_OWVAR 21
11320: PUSH
11321: LD_INT 3
11323: ST_TO_ADDR
// hc_gallery =  ;
11324: LD_ADDR_OWVAR 33
11328: PUSH
11329: LD_STRING 
11331: ST_TO_ADDR
// hc_sex = sex_male ;
11332: LD_ADDR_OWVAR 27
11336: PUSH
11337: LD_INT 1
11339: ST_TO_ADDR
// ve = CreateVehicle ;
11340: LD_ADDR_VAR 0 6
11344: PUSH
11345: CALL_OW 45
11349: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 4 ) , Rand ( 2 , 4 ) , Level , Rand ( 0 , 2 ) ] ;
11350: LD_ADDR_OWVAR 31
11354: PUSH
11355: LD_INT 0
11357: PPUSH
11358: LD_INT 4
11360: PPUSH
11361: CALL_OW 12
11365: PUSH
11366: LD_INT 2
11368: PPUSH
11369: LD_INT 4
11371: PPUSH
11372: CALL_OW 12
11376: PUSH
11377: LD_VAR 0 3
11381: PUSH
11382: LD_INT 0
11384: PPUSH
11385: LD_INT 2
11387: PPUSH
11388: CALL_OW 12
11392: PUSH
11393: EMPTY
11394: LIST
11395: LIST
11396: LIST
11397: LIST
11398: ST_TO_ADDR
// un = CreateHuman ;
11399: LD_ADDR_VAR 0 5
11403: PUSH
11404: CALL_OW 44
11408: ST_TO_ADDR
// PlaceHumanInUnit ( un , ve ) ;
11409: LD_VAR 0 5
11413: PPUSH
11414: LD_VAR 0 6
11418: PPUSH
11419: CALL_OW 52
// PlaceUnitArea ( ve , spawnarea , false ) ;
11423: LD_VAR 0 6
11427: PPUSH
11428: LD_EXP 20
11432: PPUSH
11433: LD_INT 0
11435: PPUSH
11436: CALL_OW 49
// vc_chassis = Chasis ;
11440: LD_ADDR_OWVAR 37
11444: PUSH
11445: LD_VAR 0 7
11449: ST_TO_ADDR
// vc_engine = engine_combustion ;
11450: LD_ADDR_OWVAR 39
11454: PUSH
11455: LD_INT 1
11457: ST_TO_ADDR
// vc_control = control_computer ;
11458: LD_ADDR_OWVAR 38
11462: PUSH
11463: LD_INT 3
11465: ST_TO_ADDR
// vc_weapon = ru_rocket_launcher ;
11466: LD_ADDR_OWVAR 40
11470: PUSH
11471: LD_INT 45
11473: ST_TO_ADDR
// ve = CreateVehicle ;
11474: LD_ADDR_VAR 0 6
11478: PUSH
11479: CALL_OW 45
11483: ST_TO_ADDR
// PlaceUnitArea ( ve , spawnarea , false ) ;
11484: LD_VAR 0 6
11488: PPUSH
11489: LD_EXP 20
11493: PPUSH
11494: LD_INT 0
11496: PPUSH
11497: CALL_OW 49
// vc_chassis = Chasis ;
11501: LD_ADDR_OWVAR 37
11505: PUSH
11506: LD_VAR 0 7
11510: ST_TO_ADDR
// vc_engine = engine_combustion ;
11511: LD_ADDR_OWVAR 39
11515: PUSH
11516: LD_INT 1
11518: ST_TO_ADDR
// vc_control = control_computer ;
11519: LD_ADDR_OWVAR 38
11523: PUSH
11524: LD_INT 3
11526: ST_TO_ADDR
// ; vc_weapon = ru_gatling_gun ;
11527: LD_ADDR_OWVAR 40
11531: PUSH
11532: LD_INT 43
11534: ST_TO_ADDR
// ve = CreateVehicle ;
11535: LD_ADDR_VAR 0 6
11539: PUSH
11540: CALL_OW 45
11544: ST_TO_ADDR
// PlaceUnitArea ( ve , spawnarea , false ) ;
11545: LD_VAR 0 6
11549: PPUSH
11550: LD_EXP 20
11554: PPUSH
11555: LD_INT 0
11557: PPUSH
11558: CALL_OW 49
// vc_chassis = Chasis ;
11562: LD_ADDR_OWVAR 37
11566: PUSH
11567: LD_VAR 0 7
11571: ST_TO_ADDR
// vc_engine = engine_combustion ;
11572: LD_ADDR_OWVAR 39
11576: PUSH
11577: LD_INT 1
11579: ST_TO_ADDR
// vc_control = control_computer ;
11580: LD_ADDR_OWVAR 38
11584: PUSH
11585: LD_INT 3
11587: ST_TO_ADDR
// vc_weapon = ru_gun ;
11588: LD_ADDR_OWVAR 40
11592: PUSH
11593: LD_INT 44
11595: ST_TO_ADDR
// ve = CreateVehicle ;
11596: LD_ADDR_VAR 0 6
11600: PUSH
11601: CALL_OW 45
11605: ST_TO_ADDR
// PlaceUnitArea ( ve , spawnarea , false ) ;
11606: LD_VAR 0 6
11610: PPUSH
11611: LD_EXP 20
11615: PPUSH
11616: LD_INT 0
11618: PPUSH
11619: CALL_OW 49
// repeat hc_class = 1 ;
11623: LD_ADDR_OWVAR 28
11627: PUSH
11628: LD_INT 1
11630: ST_TO_ADDR
// hc_name =  ;
11631: LD_ADDR_OWVAR 26
11635: PUSH
11636: LD_STRING 
11638: ST_TO_ADDR
// uc_side = 5 ;
11639: LD_ADDR_OWVAR 20
11643: PUSH
11644: LD_INT 5
11646: ST_TO_ADDR
// uc_nation = 3 ;
11647: LD_ADDR_OWVAR 21
11651: PUSH
11652: LD_INT 3
11654: ST_TO_ADDR
// hc_gallery =  ;
11655: LD_ADDR_OWVAR 33
11659: PUSH
11660: LD_STRING 
11662: ST_TO_ADDR
// hc_sex = sex_male ;
11663: LD_ADDR_OWVAR 27
11667: PUSH
11668: LD_INT 1
11670: ST_TO_ADDR
// hc_skills = [ LevelS , Rand ( 2 , 4 ) , Rand ( 0 , 4 ) , Rand ( 0 , 2 ) ] ;
11671: LD_ADDR_OWVAR 31
11675: PUSH
11676: LD_VAR 0 4
11680: PUSH
11681: LD_INT 2
11683: PPUSH
11684: LD_INT 4
11686: PPUSH
11687: CALL_OW 12
11691: PUSH
11692: LD_INT 0
11694: PPUSH
11695: LD_INT 4
11697: PPUSH
11698: CALL_OW 12
11702: PUSH
11703: LD_INT 0
11705: PPUSH
11706: LD_INT 2
11708: PPUSH
11709: CALL_OW 12
11713: PUSH
11714: EMPTY
11715: LIST
11716: LIST
11717: LIST
11718: LIST
11719: ST_TO_ADDR
// un = CreateHuman ;
11720: LD_ADDR_VAR 0 5
11724: PUSH
11725: CALL_OW 44
11729: ST_TO_ADDR
// PlaceUnitArea ( un , spawnarea , false ) ;
11730: LD_VAR 0 5
11734: PPUSH
11735: LD_EXP 20
11739: PPUSH
11740: LD_INT 0
11742: PPUSH
11743: CALL_OW 49
// l = l + 1 ;
11747: LD_ADDR_VAR 0 9
11751: PUSH
11752: LD_VAR 0 9
11756: PUSH
11757: LD_INT 1
11759: PLUS
11760: ST_TO_ADDR
// until l = h ;
11761: LD_VAR 0 9
11765: PUSH
11766: LD_VAR 0 10
11770: EQUAL
11771: IFFALSE 11623
// end ;
11773: LD_VAR 0 1
11777: RET
// export function BigAttackGO ; var MechList , Level , LevelS , un , ve , Chasis , weap , l , h ; begin
11778: LD_INT 0
11780: PPUSH
11781: PPUSH
11782: PPUSH
11783: PPUSH
11784: PPUSH
11785: PPUSH
11786: PPUSH
11787: PPUSH
11788: PPUSH
11789: PPUSH
// Level = [ 5 , 6 , 7 ] [ Difficulty ] ;
11790: LD_ADDR_VAR 0 3
11794: PUSH
11795: LD_INT 5
11797: PUSH
11798: LD_INT 6
11800: PUSH
11801: LD_INT 7
11803: PUSH
11804: EMPTY
11805: LIST
11806: LIST
11807: LIST
11808: PUSH
11809: LD_OWVAR 67
11813: ARRAY
11814: ST_TO_ADDR
// LevelS = [ 5 , 6 , 7 ] [ Difficulty ] ;
11815: LD_ADDR_VAR 0 4
11819: PUSH
11820: LD_INT 5
11822: PUSH
11823: LD_INT 6
11825: PUSH
11826: LD_INT 7
11828: PUSH
11829: EMPTY
11830: LIST
11831: LIST
11832: LIST
11833: PUSH
11834: LD_OWVAR 67
11838: ARRAY
11839: ST_TO_ADDR
// Chasis = [ ru_medium_wheeled , ru_heavy_wheeled , ru_heavy_tracked ] [ Difficulty ] ;
11840: LD_ADDR_VAR 0 7
11844: PUSH
11845: LD_INT 21
11847: PUSH
11848: LD_INT 23
11850: PUSH
11851: LD_INT 24
11853: PUSH
11854: EMPTY
11855: LIST
11856: LIST
11857: LIST
11858: PUSH
11859: LD_OWVAR 67
11863: ARRAY
11864: ST_TO_ADDR
// weap = [ ru_gun , ru_gun , ru_heavy_gun ] [ Difficulty ] ;
11865: LD_ADDR_VAR 0 8
11869: PUSH
11870: LD_INT 44
11872: PUSH
11873: LD_INT 44
11875: PUSH
11876: LD_INT 46
11878: PUSH
11879: EMPTY
11880: LIST
11881: LIST
11882: LIST
11883: PUSH
11884: LD_OWVAR 67
11888: ARRAY
11889: ST_TO_ADDR
// l = 0 ;
11890: LD_ADDR_VAR 0 9
11894: PUSH
11895: LD_INT 0
11897: ST_TO_ADDR
// h = [ 4 , 5 , 5 ] [ Difficulty ] ;
11898: LD_ADDR_VAR 0 10
11902: PUSH
11903: LD_INT 4
11905: PUSH
11906: LD_INT 5
11908: PUSH
11909: LD_INT 5
11911: PUSH
11912: EMPTY
11913: LIST
11914: LIST
11915: LIST
11916: PUSH
11917: LD_OWVAR 67
11921: ARRAY
11922: ST_TO_ADDR
// hc_importance = 0 ;
11923: LD_ADDR_OWVAR 32
11927: PUSH
11928: LD_INT 0
11930: ST_TO_ADDR
// vc_chassis = ru_heavy_wheeled ;
11931: LD_ADDR_OWVAR 37
11935: PUSH
11936: LD_INT 23
11938: ST_TO_ADDR
// vc_engine = engine_combustion ;
11939: LD_ADDR_OWVAR 39
11943: PUSH
11944: LD_INT 1
11946: ST_TO_ADDR
// vc_control = control_manual ;
11947: LD_ADDR_OWVAR 38
11951: PUSH
11952: LD_INT 1
11954: ST_TO_ADDR
// vc_weapon = ru_heavy_gun ;
11955: LD_ADDR_OWVAR 40
11959: PUSH
11960: LD_INT 46
11962: ST_TO_ADDR
// hc_class = 3 ;
11963: LD_ADDR_OWVAR 28
11967: PUSH
11968: LD_INT 3
11970: ST_TO_ADDR
// hc_name =  ;
11971: LD_ADDR_OWVAR 26
11975: PUSH
11976: LD_STRING 
11978: ST_TO_ADDR
// uc_side = 5 ;
11979: LD_ADDR_OWVAR 20
11983: PUSH
11984: LD_INT 5
11986: ST_TO_ADDR
// uc_nation = 3 ;
11987: LD_ADDR_OWVAR 21
11991: PUSH
11992: LD_INT 3
11994: ST_TO_ADDR
// hc_gallery =  ;
11995: LD_ADDR_OWVAR 33
11999: PUSH
12000: LD_STRING 
12002: ST_TO_ADDR
// hc_sex = sex_male ;
12003: LD_ADDR_OWVAR 27
12007: PUSH
12008: LD_INT 1
12010: ST_TO_ADDR
// ve = CreateVehicle ;
12011: LD_ADDR_VAR 0 6
12015: PUSH
12016: CALL_OW 45
12020: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 4 ) , Rand ( 2 , 4 ) , Level , Rand ( 0 , 2 ) ] ;
12021: LD_ADDR_OWVAR 31
12025: PUSH
12026: LD_INT 0
12028: PPUSH
12029: LD_INT 4
12031: PPUSH
12032: CALL_OW 12
12036: PUSH
12037: LD_INT 2
12039: PPUSH
12040: LD_INT 4
12042: PPUSH
12043: CALL_OW 12
12047: PUSH
12048: LD_VAR 0 3
12052: PUSH
12053: LD_INT 0
12055: PPUSH
12056: LD_INT 2
12058: PPUSH
12059: CALL_OW 12
12063: PUSH
12064: EMPTY
12065: LIST
12066: LIST
12067: LIST
12068: LIST
12069: ST_TO_ADDR
// un = CreateHuman ;
12070: LD_ADDR_VAR 0 5
12074: PUSH
12075: CALL_OW 44
12079: ST_TO_ADDR
// PlaceHumanInUnit ( un , ve ) ;
12080: LD_VAR 0 5
12084: PPUSH
12085: LD_VAR 0 6
12089: PPUSH
12090: CALL_OW 52
// PlaceUnitArea ( ve , spawnarea , false ) ;
12094: LD_VAR 0 6
12098: PPUSH
12099: LD_EXP 20
12103: PPUSH
12104: LD_INT 0
12106: PPUSH
12107: CALL_OW 49
// vc_chassis = Chasis ;
12111: LD_ADDR_OWVAR 37
12115: PUSH
12116: LD_VAR 0 7
12120: ST_TO_ADDR
// vc_engine = engine_combustion ;
12121: LD_ADDR_OWVAR 39
12125: PUSH
12126: LD_INT 1
12128: ST_TO_ADDR
// vc_control = control_computer ;
12129: LD_ADDR_OWVAR 38
12133: PUSH
12134: LD_INT 3
12136: ST_TO_ADDR
// vc_weapon = ru_rocket_launcher ;
12137: LD_ADDR_OWVAR 40
12141: PUSH
12142: LD_INT 45
12144: ST_TO_ADDR
// ve = CreateVehicle ;
12145: LD_ADDR_VAR 0 6
12149: PUSH
12150: CALL_OW 45
12154: ST_TO_ADDR
// PlaceUnitArea ( ve , spawnarea , false ) ;
12155: LD_VAR 0 6
12159: PPUSH
12160: LD_EXP 20
12164: PPUSH
12165: LD_INT 0
12167: PPUSH
12168: CALL_OW 49
// vc_chassis = Chasis ;
12172: LD_ADDR_OWVAR 37
12176: PUSH
12177: LD_VAR 0 7
12181: ST_TO_ADDR
// vc_engine = engine_combustion ;
12182: LD_ADDR_OWVAR 39
12186: PUSH
12187: LD_INT 1
12189: ST_TO_ADDR
// vc_control = control_computer ;
12190: LD_ADDR_OWVAR 38
12194: PUSH
12195: LD_INT 3
12197: ST_TO_ADDR
// ; vc_weapon = weap ;
12198: LD_ADDR_OWVAR 40
12202: PUSH
12203: LD_VAR 0 8
12207: ST_TO_ADDR
// ve = CreateVehicle ;
12208: LD_ADDR_VAR 0 6
12212: PUSH
12213: CALL_OW 45
12217: ST_TO_ADDR
// PlaceUnitArea ( ve , spawnarea , false ) ;
12218: LD_VAR 0 6
12222: PPUSH
12223: LD_EXP 20
12227: PPUSH
12228: LD_INT 0
12230: PPUSH
12231: CALL_OW 49
// vc_chassis = Chasis ;
12235: LD_ADDR_OWVAR 37
12239: PUSH
12240: LD_VAR 0 7
12244: ST_TO_ADDR
// vc_engine = engine_combustion ;
12245: LD_ADDR_OWVAR 39
12249: PUSH
12250: LD_INT 1
12252: ST_TO_ADDR
// vc_control = control_computer ;
12253: LD_ADDR_OWVAR 38
12257: PUSH
12258: LD_INT 3
12260: ST_TO_ADDR
// ; vc_weapon = weap ;
12261: LD_ADDR_OWVAR 40
12265: PUSH
12266: LD_VAR 0 8
12270: ST_TO_ADDR
// ve = CreateVehicle ;
12271: LD_ADDR_VAR 0 6
12275: PUSH
12276: CALL_OW 45
12280: ST_TO_ADDR
// PlaceUnitArea ( ve , spawnarea , false ) ;
12281: LD_VAR 0 6
12285: PPUSH
12286: LD_EXP 20
12290: PPUSH
12291: LD_INT 0
12293: PPUSH
12294: CALL_OW 49
// vc_chassis = Chasis ;
12298: LD_ADDR_OWVAR 37
12302: PUSH
12303: LD_VAR 0 7
12307: ST_TO_ADDR
// vc_engine = engine_combustion ;
12308: LD_ADDR_OWVAR 39
12312: PUSH
12313: LD_INT 1
12315: ST_TO_ADDR
// vc_control = control_computer ;
12316: LD_ADDR_OWVAR 38
12320: PUSH
12321: LD_INT 3
12323: ST_TO_ADDR
// ; vc_weapon = ru_rocket_launcher ;
12324: LD_ADDR_OWVAR 40
12328: PUSH
12329: LD_INT 45
12331: ST_TO_ADDR
// ve = CreateVehicle ;
12332: LD_ADDR_VAR 0 6
12336: PUSH
12337: CALL_OW 45
12341: ST_TO_ADDR
// PlaceUnitArea ( ve , spawnarea , false ) ;
12342: LD_VAR 0 6
12346: PPUSH
12347: LD_EXP 20
12351: PPUSH
12352: LD_INT 0
12354: PPUSH
12355: CALL_OW 49
// vc_chassis = Chasis ;
12359: LD_ADDR_OWVAR 37
12363: PUSH
12364: LD_VAR 0 7
12368: ST_TO_ADDR
// vc_engine = engine_combustion ;
12369: LD_ADDR_OWVAR 39
12373: PUSH
12374: LD_INT 1
12376: ST_TO_ADDR
// vc_control = control_computer ;
12377: LD_ADDR_OWVAR 38
12381: PUSH
12382: LD_INT 3
12384: ST_TO_ADDR
// vc_weapon = ru_gun ;
12385: LD_ADDR_OWVAR 40
12389: PUSH
12390: LD_INT 44
12392: ST_TO_ADDR
// ve = CreateVehicle ;
12393: LD_ADDR_VAR 0 6
12397: PUSH
12398: CALL_OW 45
12402: ST_TO_ADDR
// PlaceUnitArea ( ve , spawnarea , false ) ;
12403: LD_VAR 0 6
12407: PPUSH
12408: LD_EXP 20
12412: PPUSH
12413: LD_INT 0
12415: PPUSH
12416: CALL_OW 49
// repeat hc_class = 1 ;
12420: LD_ADDR_OWVAR 28
12424: PUSH
12425: LD_INT 1
12427: ST_TO_ADDR
// hc_name =  ;
12428: LD_ADDR_OWVAR 26
12432: PUSH
12433: LD_STRING 
12435: ST_TO_ADDR
// uc_side = 5 ;
12436: LD_ADDR_OWVAR 20
12440: PUSH
12441: LD_INT 5
12443: ST_TO_ADDR
// uc_nation = 3 ;
12444: LD_ADDR_OWVAR 21
12448: PUSH
12449: LD_INT 3
12451: ST_TO_ADDR
// hc_gallery =  ;
12452: LD_ADDR_OWVAR 33
12456: PUSH
12457: LD_STRING 
12459: ST_TO_ADDR
// hc_sex = sex_male ;
12460: LD_ADDR_OWVAR 27
12464: PUSH
12465: LD_INT 1
12467: ST_TO_ADDR
// hc_skills = [ LevelS , Rand ( 2 , 4 ) , Rand ( 0 , 4 ) , Rand ( 0 , 2 ) ] ;
12468: LD_ADDR_OWVAR 31
12472: PUSH
12473: LD_VAR 0 4
12477: PUSH
12478: LD_INT 2
12480: PPUSH
12481: LD_INT 4
12483: PPUSH
12484: CALL_OW 12
12488: PUSH
12489: LD_INT 0
12491: PPUSH
12492: LD_INT 4
12494: PPUSH
12495: CALL_OW 12
12499: PUSH
12500: LD_INT 0
12502: PPUSH
12503: LD_INT 2
12505: PPUSH
12506: CALL_OW 12
12510: PUSH
12511: EMPTY
12512: LIST
12513: LIST
12514: LIST
12515: LIST
12516: ST_TO_ADDR
// un = CreateHuman ;
12517: LD_ADDR_VAR 0 5
12521: PUSH
12522: CALL_OW 44
12526: ST_TO_ADDR
// PlaceUnitArea ( un , spawnarea , false ) ;
12527: LD_VAR 0 5
12531: PPUSH
12532: LD_EXP 20
12536: PPUSH
12537: LD_INT 0
12539: PPUSH
12540: CALL_OW 49
// l = l + 1 ;
12544: LD_ADDR_VAR 0 9
12548: PUSH
12549: LD_VAR 0 9
12553: PUSH
12554: LD_INT 1
12556: PLUS
12557: ST_TO_ADDR
// until l = h ;
12558: LD_VAR 0 9
12562: PUSH
12563: LD_VAR 0 10
12567: EQUAL
12568: IFFALSE 12420
// end ; end_of_file
12570: LD_VAR 0 1
12574: RET
// every 0 0$01 trigger Center = 1 do var veh ;
12575: LD_EXP 5
12579: PUSH
12580: LD_INT 1
12582: EQUAL
12583: IFFALSE 12659
12585: GO 12587
12587: DISABLE
12588: LD_INT 0
12590: PPUSH
// begin enable ;
12591: ENABLE
// veh = FilterAllUnits ( [ [ f_side , 4 ] , [ f_type , unit_vehicle ] , [ f_control , control_manual ] ] ) ;
12592: LD_ADDR_VAR 0 1
12596: PUSH
12597: LD_INT 22
12599: PUSH
12600: LD_INT 4
12602: PUSH
12603: EMPTY
12604: LIST
12605: LIST
12606: PUSH
12607: LD_INT 21
12609: PUSH
12610: LD_INT 2
12612: PUSH
12613: EMPTY
12614: LIST
12615: LIST
12616: PUSH
12617: LD_INT 33
12619: PUSH
12620: LD_INT 1
12622: PUSH
12623: EMPTY
12624: LIST
12625: LIST
12626: PUSH
12627: EMPTY
12628: LIST
12629: LIST
12630: LIST
12631: PPUSH
12632: CALL_OW 69
12636: ST_TO_ADDR
// CenterOnUnits ( Nefarem ) ;
12637: LD_EXP 7
12641: PPUSH
12642: CALL_OW 85
// CenterOnUnits ( veh [ 3 ] ) ;
12646: LD_VAR 0 1
12650: PUSH
12651: LD_INT 3
12653: ARRAY
12654: PPUSH
12655: CALL_OW 85
// end ; end_of_file
12659: PPOPN 1
12661: END
// every 0 0$01 trigger IsDead ( depotAM1 ) do
12662: LD_INT 452
12664: PPUSH
12665: CALL_OW 301
12669: IFFALSE 12681
12671: GO 12673
12673: DISABLE
// begin YouLost ( bazaX ) ;
12674: LD_STRING bazaX
12676: PPUSH
12677: CALL_OW 104
// end ;
12681: END
// every 0 0$01 trigger IsDead ( depotAM2 ) do
12682: LD_INT 480
12684: PPUSH
12685: CALL_OW 301
12689: IFFALSE 12701
12691: GO 12693
12693: DISABLE
// begin YouLost ( bazaY ) ;
12694: LD_STRING bazaY
12696: PPUSH
12697: CALL_OW 104
// end ;
12701: END
// every 0 0$01 trigger IsDead ( depotAM3 ) do
12702: LD_INT 10
12704: PPUSH
12705: CALL_OW 301
12709: IFFALSE 12721
12711: GO 12713
12713: DISABLE
// begin YouLost ( bazaZ ) ;
12714: LD_STRING bazaZ
12716: PPUSH
12717: CALL_OW 104
// end ;
12721: END
// every 0 0$01 trigger IsDead ( Nefarem ) do
12722: LD_EXP 7
12726: PPUSH
12727: CALL_OW 301
12731: IFFALSE 12743
12733: GO 12735
12735: DISABLE
// begin ; YouLost ( Nef ) ;
12736: LD_STRING Nef
12738: PPUSH
12739: CALL_OW 104
// end ; end_of_file
12743: END
// export GlobalMedal , globalSaveCharacters ; every 0 0$05 trigger IsSelected ( depotAM2 ) do var vehicles , Units , tab , i , UnitsCargo , vehiclesCargo ;
12744: LD_INT 480
12746: PPUSH
12747: CALL_OW 306
12751: IFFALSE 14191
12753: GO 12755
12755: DISABLE
12756: LD_INT 0
12758: PPUSH
12759: PPUSH
12760: PPUSH
12761: PPUSH
12762: PPUSH
12763: PPUSH
// begin enable ;
12764: ENABLE
// vehicles := FilterAllUnits ( [ [ f_side , 4 ] , [ f_type , unit_vehicle ] , [ f_or , [ f_control , control_manual ] , [ f_control , control_computer ] ] , [ f_or , [ f_weapon , us_double_gun ] , [ f_weapon , us_gatling_gun ] , [ f_weapon , us_heavy_gun ] , [ f_weapon , us_light_gun ] , [ f_weapon , us_machine_gun ] , [ f_weapon , us_rocket_launcher ] ] ] ) ;
12765: LD_ADDR_VAR 0 1
12769: PUSH
12770: LD_INT 22
12772: PUSH
12773: LD_INT 4
12775: PUSH
12776: EMPTY
12777: LIST
12778: LIST
12779: PUSH
12780: LD_INT 21
12782: PUSH
12783: LD_INT 2
12785: PUSH
12786: EMPTY
12787: LIST
12788: LIST
12789: PUSH
12790: LD_INT 2
12792: PUSH
12793: LD_INT 33
12795: PUSH
12796: LD_INT 1
12798: PUSH
12799: EMPTY
12800: LIST
12801: LIST
12802: PUSH
12803: LD_INT 33
12805: PUSH
12806: LD_INT 3
12808: PUSH
12809: EMPTY
12810: LIST
12811: LIST
12812: PUSH
12813: EMPTY
12814: LIST
12815: LIST
12816: LIST
12817: PUSH
12818: LD_INT 2
12820: PUSH
12821: LD_INT 34
12823: PUSH
12824: LD_INT 5
12826: PUSH
12827: EMPTY
12828: LIST
12829: LIST
12830: PUSH
12831: LD_INT 34
12833: PUSH
12834: LD_INT 4
12836: PUSH
12837: EMPTY
12838: LIST
12839: LIST
12840: PUSH
12841: LD_INT 34
12843: PUSH
12844: LD_INT 6
12846: PUSH
12847: EMPTY
12848: LIST
12849: LIST
12850: PUSH
12851: LD_INT 34
12853: PUSH
12854: LD_INT 3
12856: PUSH
12857: EMPTY
12858: LIST
12859: LIST
12860: PUSH
12861: LD_INT 34
12863: PUSH
12864: LD_INT 2
12866: PUSH
12867: EMPTY
12868: LIST
12869: LIST
12870: PUSH
12871: LD_INT 34
12873: PUSH
12874: LD_INT 7
12876: PUSH
12877: EMPTY
12878: LIST
12879: LIST
12880: PUSH
12881: EMPTY
12882: LIST
12883: LIST
12884: LIST
12885: LIST
12886: LIST
12887: LIST
12888: LIST
12889: PUSH
12890: EMPTY
12891: LIST
12892: LIST
12893: LIST
12894: LIST
12895: PPUSH
12896: CALL_OW 69
12900: ST_TO_ADDR
// vehiclesCargo := FilterAllUnits ( [ [ f_side , 4 ] , [ f_type , unit_vehicle ] , [ f_control , control_computer ] , [ f_weapon , us_cargo_bay ] ] ) ;
12901: LD_ADDR_VAR 0 6
12905: PUSH
12906: LD_INT 22
12908: PUSH
12909: LD_INT 4
12911: PUSH
12912: EMPTY
12913: LIST
12914: LIST
12915: PUSH
12916: LD_INT 21
12918: PUSH
12919: LD_INT 2
12921: PUSH
12922: EMPTY
12923: LIST
12924: LIST
12925: PUSH
12926: LD_INT 33
12928: PUSH
12929: LD_INT 3
12931: PUSH
12932: EMPTY
12933: LIST
12934: LIST
12935: PUSH
12936: LD_INT 34
12938: PUSH
12939: LD_INT 12
12941: PUSH
12942: EMPTY
12943: LIST
12944: LIST
12945: PUSH
12946: EMPTY
12947: LIST
12948: LIST
12949: LIST
12950: LIST
12951: PPUSH
12952: CALL_OW 69
12956: ST_TO_ADDR
// globalSaveCharacters = [ ] ;
12957: LD_ADDR_EXP 23
12961: PUSH
12962: EMPTY
12963: ST_TO_ADDR
// case query ( QueryEnd ) of 1 :
12964: LD_STRING QueryEnd
12966: PPUSH
12967: CALL_OW 97
12971: PUSH
12972: LD_INT 1
12974: DOUBLE
12975: EQUAL
12976: IFTRUE 12980
12978: GO 14179
12980: POP
// begin if GetResourceType ( GetBase ( depotAM2 ) , mat_cans ) >= 600 and FilterAllUnits ( [ [ f_side , 4 ] , [ f_type , unit_vehicle ] , [ f_control , control_computer ] , [ f_weapon , us_cargo_bay ] ] ) >= 6 and vehicles >= 5 then
12981: LD_INT 480
12983: PPUSH
12984: CALL_OW 274
12988: PPUSH
12989: LD_INT 1
12991: PPUSH
12992: CALL_OW 275
12996: PUSH
12997: LD_INT 600
12999: GREATEREQUAL
13000: PUSH
13001: LD_INT 22
13003: PUSH
13004: LD_INT 4
13006: PUSH
13007: EMPTY
13008: LIST
13009: LIST
13010: PUSH
13011: LD_INT 21
13013: PUSH
13014: LD_INT 2
13016: PUSH
13017: EMPTY
13018: LIST
13019: LIST
13020: PUSH
13021: LD_INT 33
13023: PUSH
13024: LD_INT 3
13026: PUSH
13027: EMPTY
13028: LIST
13029: LIST
13030: PUSH
13031: LD_INT 34
13033: PUSH
13034: LD_INT 12
13036: PUSH
13037: EMPTY
13038: LIST
13039: LIST
13040: PUSH
13041: EMPTY
13042: LIST
13043: LIST
13044: LIST
13045: LIST
13046: PPUSH
13047: CALL_OW 69
13051: PUSH
13052: LD_INT 6
13054: GREATEREQUAL
13055: AND
13056: PUSH
13057: LD_VAR 0 1
13061: PUSH
13062: LD_INT 5
13064: GREATEREQUAL
13065: AND
13066: IFFALSE 13569
// begin DialogueOn ;
13068: CALL_OW 6
// Say ( Nefarem , End1 ) ;
13072: LD_EXP 7
13076: PPUSH
13077: LD_STRING End1
13079: PPUSH
13080: CALL_OW 88
// Units = [ ] ;
13084: LD_ADDR_VAR 0 2
13088: PUSH
13089: EMPTY
13090: ST_TO_ADDR
// UnitsCargo = [ ] ;
13091: LD_ADDR_VAR 0 5
13095: PUSH
13096: EMPTY
13097: ST_TO_ADDR
// tab := [ ] ;
13098: LD_ADDR_VAR 0 3
13102: PUSH
13103: EMPTY
13104: ST_TO_ADDR
// for i = 1 to 5 do
13105: LD_ADDR_VAR 0 4
13109: PUSH
13110: DOUBLE
13111: LD_INT 1
13113: DEC
13114: ST_TO_ADDR
13115: LD_INT 5
13117: PUSH
13118: FOR_TO
13119: IFFALSE 13204
// begin tab := tab ^ [ GetChassis ( vehicles [ i ] ) , GetEngine ( vehicles [ i ] ) , GetControl ( vehicles [ i ] ) , GetWeapon ( vehicles [ i ] ) ] ;
13121: LD_ADDR_VAR 0 3
13125: PUSH
13126: LD_VAR 0 3
13130: PUSH
13131: LD_VAR 0 1
13135: PUSH
13136: LD_VAR 0 4
13140: ARRAY
13141: PPUSH
13142: CALL_OW 265
13146: PUSH
13147: LD_VAR 0 1
13151: PUSH
13152: LD_VAR 0 4
13156: ARRAY
13157: PPUSH
13158: CALL_OW 262
13162: PUSH
13163: LD_VAR 0 1
13167: PUSH
13168: LD_VAR 0 4
13172: ARRAY
13173: PPUSH
13174: CALL_OW 263
13178: PUSH
13179: LD_VAR 0 1
13183: PUSH
13184: LD_VAR 0 4
13188: ARRAY
13189: PPUSH
13190: CALL_OW 264
13194: PUSH
13195: EMPTY
13196: LIST
13197: LIST
13198: LIST
13199: LIST
13200: ADD
13201: ST_TO_ADDR
// end ;
13202: GO 13118
13204: POP
13205: POP
// for i = 1 to vehiclesCargo do
13206: LD_ADDR_VAR 0 4
13210: PUSH
13211: DOUBLE
13212: LD_INT 1
13214: DEC
13215: ST_TO_ADDR
13216: LD_VAR 0 6
13220: PUSH
13221: FOR_TO
13222: IFFALSE 13307
// begin UnitsCargo = UnitsCargo ^ [ GetChassis ( vehiclesCargo [ i ] ) , GetEngine ( vehiclesCargo [ i ] ) , GetControl ( vehiclesCargo [ i ] ) , GetWeapon ( vehiclesCargo [ i ] ) ] ;
13224: LD_ADDR_VAR 0 5
13228: PUSH
13229: LD_VAR 0 5
13233: PUSH
13234: LD_VAR 0 6
13238: PUSH
13239: LD_VAR 0 4
13243: ARRAY
13244: PPUSH
13245: CALL_OW 265
13249: PUSH
13250: LD_VAR 0 6
13254: PUSH
13255: LD_VAR 0 4
13259: ARRAY
13260: PPUSH
13261: CALL_OW 262
13265: PUSH
13266: LD_VAR 0 6
13270: PUSH
13271: LD_VAR 0 4
13275: ARRAY
13276: PPUSH
13277: CALL_OW 263
13281: PUSH
13282: LD_VAR 0 6
13286: PUSH
13287: LD_VAR 0 4
13291: ARRAY
13292: PPUSH
13293: CALL_OW 264
13297: PUSH
13298: EMPTY
13299: LIST
13300: LIST
13301: LIST
13302: LIST
13303: ADD
13304: ST_TO_ADDR
// end ;
13305: GO 13221
13307: POP
13308: POP
// SaveVariable ( tab , units_vehicles ) ;
13309: LD_VAR 0 3
13313: PPUSH
13314: LD_STRING units_vehicles
13316: PPUSH
13317: CALL_OW 39
// SaveVariable ( UnitsCargo , units_cargo ) ;
13321: LD_VAR 0 5
13325: PPUSH
13326: LD_STRING units_cargo
13328: PPUSH
13329: CALL_OW 39
// GlobalMedal = true ;
13333: LD_ADDR_EXP 22
13337: PUSH
13338: LD_INT 1
13340: ST_TO_ADDR
// AddExperience ( Nefarem , skill_combat , 5000 ) ;
13341: LD_EXP 7
13345: PPUSH
13346: LD_INT 1
13348: PPUSH
13349: LD_INT 5000
13351: PPUSH
13352: CALL_OW 492
// AddExperience ( Nefarem , skill_engineering , 5000 ) ;
13356: LD_EXP 7
13360: PPUSH
13361: LD_INT 2
13363: PPUSH
13364: LD_INT 5000
13366: PPUSH
13367: CALL_OW 492
// AddExperience ( Nefarem , skill_mechanical , 3000 ) ;
13371: LD_EXP 7
13375: PPUSH
13376: LD_INT 3
13378: PPUSH
13379: LD_INT 3000
13381: PPUSH
13382: CALL_OW 492
// AddExperience ( Nefarem , skill_scientistic , 3000 ) ;
13386: LD_EXP 7
13390: PPUSH
13391: LD_INT 4
13393: PPUSH
13394: LD_INT 3000
13396: PPUSH
13397: CALL_OW 492
// globalSaveCharacters := CharacterSelection ( ChooseCharacters , 6 , 6 , [ sel_change_class , Nefarem , sel_not_hired , sel_changeable ] ^ AmericanPerson ^ [ sel_dont_change_class , sel_not_changeable , mechAM ] ^ [ sel_dont_change_class , sel_not_changeable , engAM ] ^ [ sel_dont_change_class , sel_not_changeable , docAM ] , [ class_soldier , class_mechanic , class_scientistic ] ) ;
13401: LD_ADDR_EXP 23
13405: PUSH
13406: LD_STRING ChooseCharacters
13408: PPUSH
13409: LD_INT 6
13411: PPUSH
13412: LD_INT 6
13414: PPUSH
13415: LD_INT -5
13417: PUSH
13418: LD_EXP 7
13422: PUSH
13423: LD_INT -2
13425: PUSH
13426: LD_INT -3
13428: PUSH
13429: EMPTY
13430: LIST
13431: LIST
13432: LIST
13433: LIST
13434: PUSH
13435: LD_EXP 6
13439: ADD
13440: PUSH
13441: LD_INT -6
13443: PUSH
13444: LD_INT -4
13446: PUSH
13447: LD_EXP 12
13451: PUSH
13452: EMPTY
13453: LIST
13454: LIST
13455: LIST
13456: ADD
13457: PUSH
13458: LD_INT -6
13460: PUSH
13461: LD_INT -4
13463: PUSH
13464: LD_EXP 14
13468: PUSH
13469: EMPTY
13470: LIST
13471: LIST
13472: LIST
13473: ADD
13474: PUSH
13475: LD_INT -6
13477: PUSH
13478: LD_INT -4
13480: PUSH
13481: LD_EXP 13
13485: PUSH
13486: EMPTY
13487: LIST
13488: LIST
13489: LIST
13490: ADD
13491: PPUSH
13492: LD_INT 1
13494: PUSH
13495: LD_INT 3
13497: PUSH
13498: LD_INT 4
13500: PUSH
13501: EMPTY
13502: LIST
13503: LIST
13504: LIST
13505: PPUSH
13506: CALL_OW 42
13510: ST_TO_ADDR
// RewardPeople ( globalSaveCharacters ) ;
13511: LD_EXP 23
13515: PPUSH
13516: CALL_OW 43
// SaveCharacters ( UnitFilter ( globalSaveCharacters , [ f_side , 4 ] ) , CharacterSave ) ;
13520: LD_EXP 23
13524: PPUSH
13525: LD_INT 22
13527: PUSH
13528: LD_INT 4
13530: PUSH
13531: EMPTY
13532: LIST
13533: LIST
13534: PPUSH
13535: CALL_OW 72
13539: PPUSH
13540: LD_STRING CharacterSave
13542: PPUSH
13543: CALL_OW 38
// SaveCharacters ( Nefarem , Nefarem ) ;
13547: LD_EXP 7
13551: PPUSH
13552: LD_STRING Nefarem
13554: PPUSH
13555: CALL_OW 38
// medale ;
13559: CALL 14866 0 0
// YouWin ;
13563: CALL_OW 103
// end else
13567: GO 14177
// if GetResourceType ( GetBase ( depotAM2 ) , mat_cans ) >= 400 and FilterAllUnits ( [ [ f_side , 4 ] , [ f_type , unit_vehicle ] , [ f_control , control_computer ] , [ f_weapon , us_cargo_bay ] ] ) >= 4 and vehicles >= 5 then
13569: LD_INT 480
13571: PPUSH
13572: CALL_OW 274
13576: PPUSH
13577: LD_INT 1
13579: PPUSH
13580: CALL_OW 275
13584: PUSH
13585: LD_INT 400
13587: GREATEREQUAL
13588: PUSH
13589: LD_INT 22
13591: PUSH
13592: LD_INT 4
13594: PUSH
13595: EMPTY
13596: LIST
13597: LIST
13598: PUSH
13599: LD_INT 21
13601: PUSH
13602: LD_INT 2
13604: PUSH
13605: EMPTY
13606: LIST
13607: LIST
13608: PUSH
13609: LD_INT 33
13611: PUSH
13612: LD_INT 3
13614: PUSH
13615: EMPTY
13616: LIST
13617: LIST
13618: PUSH
13619: LD_INT 34
13621: PUSH
13622: LD_INT 12
13624: PUSH
13625: EMPTY
13626: LIST
13627: LIST
13628: PUSH
13629: EMPTY
13630: LIST
13631: LIST
13632: LIST
13633: LIST
13634: PPUSH
13635: CALL_OW 69
13639: PUSH
13640: LD_INT 4
13642: GREATEREQUAL
13643: AND
13644: PUSH
13645: LD_VAR 0 1
13649: PUSH
13650: LD_INT 5
13652: GREATEREQUAL
13653: AND
13654: IFFALSE 14157
// begin DialogueOn ;
13656: CALL_OW 6
// Say ( Nefarem , End1 ) ;
13660: LD_EXP 7
13664: PPUSH
13665: LD_STRING End1
13667: PPUSH
13668: CALL_OW 88
// Units = [ ] ;
13672: LD_ADDR_VAR 0 2
13676: PUSH
13677: EMPTY
13678: ST_TO_ADDR
// UnitsCargo = [ ] ;
13679: LD_ADDR_VAR 0 5
13683: PUSH
13684: EMPTY
13685: ST_TO_ADDR
// tab := [ ] ;
13686: LD_ADDR_VAR 0 3
13690: PUSH
13691: EMPTY
13692: ST_TO_ADDR
// for i = 1 to 5 do
13693: LD_ADDR_VAR 0 4
13697: PUSH
13698: DOUBLE
13699: LD_INT 1
13701: DEC
13702: ST_TO_ADDR
13703: LD_INT 5
13705: PUSH
13706: FOR_TO
13707: IFFALSE 13792
// begin tab := tab ^ [ GetChassis ( vehicles [ i ] ) , GetEngine ( vehicles [ i ] ) , GetControl ( vehicles [ i ] ) , GetWeapon ( vehicles [ i ] ) ] ;
13709: LD_ADDR_VAR 0 3
13713: PUSH
13714: LD_VAR 0 3
13718: PUSH
13719: LD_VAR 0 1
13723: PUSH
13724: LD_VAR 0 4
13728: ARRAY
13729: PPUSH
13730: CALL_OW 265
13734: PUSH
13735: LD_VAR 0 1
13739: PUSH
13740: LD_VAR 0 4
13744: ARRAY
13745: PPUSH
13746: CALL_OW 262
13750: PUSH
13751: LD_VAR 0 1
13755: PUSH
13756: LD_VAR 0 4
13760: ARRAY
13761: PPUSH
13762: CALL_OW 263
13766: PUSH
13767: LD_VAR 0 1
13771: PUSH
13772: LD_VAR 0 4
13776: ARRAY
13777: PPUSH
13778: CALL_OW 264
13782: PUSH
13783: EMPTY
13784: LIST
13785: LIST
13786: LIST
13787: LIST
13788: ADD
13789: ST_TO_ADDR
// end ;
13790: GO 13706
13792: POP
13793: POP
// for i = 1 to vehiclesCargo do
13794: LD_ADDR_VAR 0 4
13798: PUSH
13799: DOUBLE
13800: LD_INT 1
13802: DEC
13803: ST_TO_ADDR
13804: LD_VAR 0 6
13808: PUSH
13809: FOR_TO
13810: IFFALSE 13895
// begin UnitsCargo = UnitsCargo ^ [ GetChassis ( vehiclesCargo [ i ] ) , GetEngine ( vehiclesCargo [ i ] ) , GetControl ( vehiclesCargo [ i ] ) , GetWeapon ( vehiclesCargo [ i ] ) ] ;
13812: LD_ADDR_VAR 0 5
13816: PUSH
13817: LD_VAR 0 5
13821: PUSH
13822: LD_VAR 0 6
13826: PUSH
13827: LD_VAR 0 4
13831: ARRAY
13832: PPUSH
13833: CALL_OW 265
13837: PUSH
13838: LD_VAR 0 6
13842: PUSH
13843: LD_VAR 0 4
13847: ARRAY
13848: PPUSH
13849: CALL_OW 262
13853: PUSH
13854: LD_VAR 0 6
13858: PUSH
13859: LD_VAR 0 4
13863: ARRAY
13864: PPUSH
13865: CALL_OW 263
13869: PUSH
13870: LD_VAR 0 6
13874: PUSH
13875: LD_VAR 0 4
13879: ARRAY
13880: PPUSH
13881: CALL_OW 264
13885: PUSH
13886: EMPTY
13887: LIST
13888: LIST
13889: LIST
13890: LIST
13891: ADD
13892: ST_TO_ADDR
// end ;
13893: GO 13809
13895: POP
13896: POP
// GlobalMedal = false ;
13897: LD_ADDR_EXP 22
13901: PUSH
13902: LD_INT 0
13904: ST_TO_ADDR
// AddExperience ( Nefarem , skill_combat , 5000 ) ;
13905: LD_EXP 7
13909: PPUSH
13910: LD_INT 1
13912: PPUSH
13913: LD_INT 5000
13915: PPUSH
13916: CALL_OW 492
// AddExperience ( Nefarem , skill_engineering , 5000 ) ;
13920: LD_EXP 7
13924: PPUSH
13925: LD_INT 2
13927: PPUSH
13928: LD_INT 5000
13930: PPUSH
13931: CALL_OW 492
// AddExperience ( Nefarem , skill_mechanical , 3000 ) ;
13935: LD_EXP 7
13939: PPUSH
13940: LD_INT 3
13942: PPUSH
13943: LD_INT 3000
13945: PPUSH
13946: CALL_OW 492
// AddExperience ( Nefarem , skill_scientistic , 3000 ) ;
13950: LD_EXP 7
13954: PPUSH
13955: LD_INT 4
13957: PPUSH
13958: LD_INT 3000
13960: PPUSH
13961: CALL_OW 492
// globalSaveCharacters := CharacterSelection ( ChooseCharacters , 6 , 6 , [ sel_change_class , Nefarem , sel_not_hired , sel_changeable ] ^ AmericanPerson ^ [ sel_dont_change_class , sel_not_changeable , mechAM ] ^ [ sel_dont_change_class , sel_not_changeable , engAM ] ^ [ sel_dont_change_class , sel_not_changeable , docAM ] , [ class_soldier , class_mechanic , class_scientistic ] ) ;
13965: LD_ADDR_EXP 23
13969: PUSH
13970: LD_STRING ChooseCharacters
13972: PPUSH
13973: LD_INT 6
13975: PPUSH
13976: LD_INT 6
13978: PPUSH
13979: LD_INT -5
13981: PUSH
13982: LD_EXP 7
13986: PUSH
13987: LD_INT -2
13989: PUSH
13990: LD_INT -3
13992: PUSH
13993: EMPTY
13994: LIST
13995: LIST
13996: LIST
13997: LIST
13998: PUSH
13999: LD_EXP 6
14003: ADD
14004: PUSH
14005: LD_INT -6
14007: PUSH
14008: LD_INT -4
14010: PUSH
14011: LD_EXP 12
14015: PUSH
14016: EMPTY
14017: LIST
14018: LIST
14019: LIST
14020: ADD
14021: PUSH
14022: LD_INT -6
14024: PUSH
14025: LD_INT -4
14027: PUSH
14028: LD_EXP 14
14032: PUSH
14033: EMPTY
14034: LIST
14035: LIST
14036: LIST
14037: ADD
14038: PUSH
14039: LD_INT -6
14041: PUSH
14042: LD_INT -4
14044: PUSH
14045: LD_EXP 13
14049: PUSH
14050: EMPTY
14051: LIST
14052: LIST
14053: LIST
14054: ADD
14055: PPUSH
14056: LD_INT 1
14058: PUSH
14059: LD_INT 3
14061: PUSH
14062: LD_INT 4
14064: PUSH
14065: EMPTY
14066: LIST
14067: LIST
14068: LIST
14069: PPUSH
14070: CALL_OW 42
14074: ST_TO_ADDR
// RewardPeople ( globalSaveCharacters ) ;
14075: LD_EXP 23
14079: PPUSH
14080: CALL_OW 43
// SaveCharacters ( UnitFilter ( globalSaveCharacters , [ f_side , 4 ] ) , CharacterSave ) ;
14084: LD_EXP 23
14088: PPUSH
14089: LD_INT 22
14091: PUSH
14092: LD_INT 4
14094: PUSH
14095: EMPTY
14096: LIST
14097: LIST
14098: PPUSH
14099: CALL_OW 72
14103: PPUSH
14104: LD_STRING CharacterSave
14106: PPUSH
14107: CALL_OW 38
// SaveCharacters ( Nefarem , Nefarem ) ;
14111: LD_EXP 7
14115: PPUSH
14116: LD_STRING Nefarem
14118: PPUSH
14119: CALL_OW 38
// SaveVariable ( tab , units_vehicles ) ;
14123: LD_VAR 0 3
14127: PPUSH
14128: LD_STRING units_vehicles
14130: PPUSH
14131: CALL_OW 39
// SaveVariable ( UnitsCargo , units_cargo ) ;
14135: LD_VAR 0 5
14139: PPUSH
14140: LD_STRING units_cargo
14142: PPUSH
14143: CALL_OW 39
// medale ;
14147: CALL 14866 0 0
// YouWin ;
14151: CALL_OW 103
// end else
14155: GO 14177
// begin case query ( QueryFail ) of 1 :
14157: LD_STRING QueryFail
14159: PPUSH
14160: CALL_OW 97
14164: PUSH
14165: LD_INT 1
14167: DOUBLE
14168: EQUAL
14169: IFTRUE 14173
14171: GO 14176
14173: POP
// begin end ; end ;
14174: GO 14177
14176: POP
// end ; end ; 2 :
14177: GO 14191
14179: LD_INT 2
14181: DOUBLE
14182: EQUAL
14183: IFTRUE 14187
14185: GO 14190
14187: POP
// begin end ; end ;
14188: GO 14191
14190: POP
// end ; end_of_file
14191: PPOPN 6
14193: END
// every 0 0$01 do var medal , medvar ;
14194: GO 14196
14196: DISABLE
14197: LD_INT 0
14199: PPUSH
14200: PPUSH
// begin case Difficulty of 1 :
14201: LD_OWVAR 67
14205: PUSH
14206: LD_INT 1
14208: DOUBLE
14209: EQUAL
14210: IFTRUE 14214
14212: GO 14347
14214: POP
// begin SetTech ( 48 , 6 , state_Researched ) ;
14215: LD_INT 48
14217: PPUSH
14218: LD_INT 6
14220: PPUSH
14221: LD_INT 2
14223: PPUSH
14224: CALL_OW 322
// SetTech ( 51 , 6 , state_Researched ) ;
14228: LD_INT 51
14230: PPUSH
14231: LD_INT 6
14233: PPUSH
14234: LD_INT 2
14236: PPUSH
14237: CALL_OW 322
// SetTech ( 49 , 6 , state_Researched ) ;
14241: LD_INT 49
14243: PPUSH
14244: LD_INT 6
14246: PPUSH
14247: LD_INT 2
14249: PPUSH
14250: CALL_OW 322
// SetTech ( 48 , 3 , state_Researched ) ;
14254: LD_INT 48
14256: PPUSH
14257: LD_INT 3
14259: PPUSH
14260: LD_INT 2
14262: PPUSH
14263: CALL_OW 322
// SetTech ( 51 , 3 , state_Researched ) ;
14267: LD_INT 51
14269: PPUSH
14270: LD_INT 3
14272: PPUSH
14273: LD_INT 2
14275: PPUSH
14276: CALL_OW 322
// SetTech ( 49 , 3 , state_Researched ) ;
14280: LD_INT 49
14282: PPUSH
14283: LD_INT 3
14285: PPUSH
14286: LD_INT 2
14288: PPUSH
14289: CALL_OW 322
// SetTech ( 57 , 3 , state_Researched ) ;
14293: LD_INT 57
14295: PPUSH
14296: LD_INT 3
14298: PPUSH
14299: LD_INT 2
14301: PPUSH
14302: CALL_OW 322
// SetTech ( 48 , 5 , state_Researched ) ;
14306: LD_INT 48
14308: PPUSH
14309: LD_INT 5
14311: PPUSH
14312: LD_INT 2
14314: PPUSH
14315: CALL_OW 322
// SetTech ( 51 , 5 , state_Researched ) ;
14319: LD_INT 51
14321: PPUSH
14322: LD_INT 5
14324: PPUSH
14325: LD_INT 2
14327: PPUSH
14328: CALL_OW 322
// SetTech ( 49 , 5 , state_Researched ) ;
14332: LD_INT 49
14334: PPUSH
14335: LD_INT 5
14337: PPUSH
14338: LD_INT 2
14340: PPUSH
14341: CALL_OW 322
// end ; 2 :
14345: GO 14786
14347: LD_INT 2
14349: DOUBLE
14350: EQUAL
14351: IFTRUE 14355
14353: GO 14553
14355: POP
// begin SetTech ( 57 , 6 , state_Researched ) ;
14356: LD_INT 57
14358: PPUSH
14359: LD_INT 6
14361: PPUSH
14362: LD_INT 2
14364: PPUSH
14365: CALL_OW 322
// SetTech ( 48 , 6 , state_Researched ) ;
14369: LD_INT 48
14371: PPUSH
14372: LD_INT 6
14374: PPUSH
14375: LD_INT 2
14377: PPUSH
14378: CALL_OW 322
// SetTech ( 49 , 6 , state_Researched ) ;
14382: LD_INT 49
14384: PPUSH
14385: LD_INT 6
14387: PPUSH
14388: LD_INT 2
14390: PPUSH
14391: CALL_OW 322
// SetTech ( 51 , 6 , state_Researched ) ;
14395: LD_INT 51
14397: PPUSH
14398: LD_INT 6
14400: PPUSH
14401: LD_INT 2
14403: PPUSH
14404: CALL_OW 322
// SetTech ( 52 , 6 , state_Researched ) ;
14408: LD_INT 52
14410: PPUSH
14411: LD_INT 6
14413: PPUSH
14414: LD_INT 2
14416: PPUSH
14417: CALL_OW 322
// SetTech ( 57 , 3 , state_Researched ) ;
14421: LD_INT 57
14423: PPUSH
14424: LD_INT 3
14426: PPUSH
14427: LD_INT 2
14429: PPUSH
14430: CALL_OW 322
// SetTech ( 48 , 3 , state_Researched ) ;
14434: LD_INT 48
14436: PPUSH
14437: LD_INT 3
14439: PPUSH
14440: LD_INT 2
14442: PPUSH
14443: CALL_OW 322
// SetTech ( 49 , 3 , state_Researched ) ;
14447: LD_INT 49
14449: PPUSH
14450: LD_INT 3
14452: PPUSH
14453: LD_INT 2
14455: PPUSH
14456: CALL_OW 322
// SetTech ( 51 , 3 , state_Researched ) ;
14460: LD_INT 51
14462: PPUSH
14463: LD_INT 3
14465: PPUSH
14466: LD_INT 2
14468: PPUSH
14469: CALL_OW 322
// SetTech ( 52 , 3 , state_Researched ) ;
14473: LD_INT 52
14475: PPUSH
14476: LD_INT 3
14478: PPUSH
14479: LD_INT 2
14481: PPUSH
14482: CALL_OW 322
// SetTech ( 57 , 5 , state_Researched ) ;
14486: LD_INT 57
14488: PPUSH
14489: LD_INT 5
14491: PPUSH
14492: LD_INT 2
14494: PPUSH
14495: CALL_OW 322
// SetTech ( 48 , 5 , state_Researched ) ;
14499: LD_INT 48
14501: PPUSH
14502: LD_INT 5
14504: PPUSH
14505: LD_INT 2
14507: PPUSH
14508: CALL_OW 322
// SetTech ( 49 , 5 , state_Researched ) ;
14512: LD_INT 49
14514: PPUSH
14515: LD_INT 5
14517: PPUSH
14518: LD_INT 2
14520: PPUSH
14521: CALL_OW 322
// SetTech ( 51 , 5 , state_Researched ) ;
14525: LD_INT 51
14527: PPUSH
14528: LD_INT 5
14530: PPUSH
14531: LD_INT 2
14533: PPUSH
14534: CALL_OW 322
// SetTech ( 52 , 5 , state_Researched ) ;
14538: LD_INT 52
14540: PPUSH
14541: LD_INT 5
14543: PPUSH
14544: LD_INT 2
14546: PPUSH
14547: CALL_OW 322
// end ; 3 :
14551: GO 14786
14553: LD_INT 3
14555: DOUBLE
14556: EQUAL
14557: IFTRUE 14561
14559: GO 14785
14561: POP
// begin SetTech ( 57 , 6 , state_Researched ) ;
14562: LD_INT 57
14564: PPUSH
14565: LD_INT 6
14567: PPUSH
14568: LD_INT 2
14570: PPUSH
14571: CALL_OW 322
// SetTech ( 58 , 6 , state_Researched ) ;
14575: LD_INT 58
14577: PPUSH
14578: LD_INT 6
14580: PPUSH
14581: LD_INT 2
14583: PPUSH
14584: CALL_OW 322
// SetTech ( 48 , 6 , state_Researched ) ;
14588: LD_INT 48
14590: PPUSH
14591: LD_INT 6
14593: PPUSH
14594: LD_INT 2
14596: PPUSH
14597: CALL_OW 322
// SetTech ( 49 , 6 , state_Researched ) ;
14601: LD_INT 49
14603: PPUSH
14604: LD_INT 6
14606: PPUSH
14607: LD_INT 2
14609: PPUSH
14610: CALL_OW 322
// SetTech ( 51 , 6 , state_Researched ) ;
14614: LD_INT 51
14616: PPUSH
14617: LD_INT 6
14619: PPUSH
14620: LD_INT 2
14622: PPUSH
14623: CALL_OW 322
// SetTech ( 52 , 6 , state_Researched ) ;
14627: LD_INT 52
14629: PPUSH
14630: LD_INT 6
14632: PPUSH
14633: LD_INT 2
14635: PPUSH
14636: CALL_OW 322
// SetTech ( 57 , 3 , state_Researched ) ;
14640: LD_INT 57
14642: PPUSH
14643: LD_INT 3
14645: PPUSH
14646: LD_INT 2
14648: PPUSH
14649: CALL_OW 322
// SetTech ( 58 , 3 , state_Researched ) ;
14653: LD_INT 58
14655: PPUSH
14656: LD_INT 3
14658: PPUSH
14659: LD_INT 2
14661: PPUSH
14662: CALL_OW 322
// SetTech ( 48 , 3 , state_Researched ) ;
14666: LD_INT 48
14668: PPUSH
14669: LD_INT 3
14671: PPUSH
14672: LD_INT 2
14674: PPUSH
14675: CALL_OW 322
// SetTech ( 49 , 3 , state_Researched ) ;
14679: LD_INT 49
14681: PPUSH
14682: LD_INT 3
14684: PPUSH
14685: LD_INT 2
14687: PPUSH
14688: CALL_OW 322
// SetTech ( 51 , 3 , state_Researched ) ;
14692: LD_INT 51
14694: PPUSH
14695: LD_INT 3
14697: PPUSH
14698: LD_INT 2
14700: PPUSH
14701: CALL_OW 322
// SetTech ( 52 , 3 , state_Researched ) ;
14705: LD_INT 52
14707: PPUSH
14708: LD_INT 3
14710: PPUSH
14711: LD_INT 2
14713: PPUSH
14714: CALL_OW 322
// SetTech ( 57 , 5 , state_Researched ) ;
14718: LD_INT 57
14720: PPUSH
14721: LD_INT 5
14723: PPUSH
14724: LD_INT 2
14726: PPUSH
14727: CALL_OW 322
// SetTech ( 48 , 5 , state_Researched ) ;
14731: LD_INT 48
14733: PPUSH
14734: LD_INT 5
14736: PPUSH
14737: LD_INT 2
14739: PPUSH
14740: CALL_OW 322
// SetTech ( 49 , 5 , state_Researched ) ;
14744: LD_INT 49
14746: PPUSH
14747: LD_INT 5
14749: PPUSH
14750: LD_INT 2
14752: PPUSH
14753: CALL_OW 322
// SetTech ( 51 , 5 , state_Researched ) ;
14757: LD_INT 51
14759: PPUSH
14760: LD_INT 5
14762: PPUSH
14763: LD_INT 2
14765: PPUSH
14766: CALL_OW 322
// SetTech ( 52 , 5 , state_Researched ) ;
14770: LD_INT 52
14772: PPUSH
14773: LD_INT 5
14775: PPUSH
14776: LD_INT 2
14778: PPUSH
14779: CALL_OW 322
// end ; end ;
14783: GO 14786
14785: POP
// medal = LoadVariable ( MedValue , 0 ) ;
14786: LD_ADDR_VAR 0 1
14790: PUSH
14791: LD_STRING MedValue
14793: PPUSH
14794: LD_INT 0
14796: PPUSH
14797: CALL_OW 30
14801: ST_TO_ADDR
// if medvar = 1 then
14802: LD_VAR 0 2
14806: PUSH
14807: LD_INT 1
14809: EQUAL
14810: IFFALSE 14814
// begin end else
14812: GO 14837
// if MedVar = 2 then
14814: LD_VAR 0 2
14818: PUSH
14819: LD_INT 2
14821: EQUAL
14822: IFFALSE 14837
// SetTech ( 48 , 5 , state_Researched ) ;
14824: LD_INT 48
14826: PPUSH
14827: LD_INT 5
14829: PPUSH
14830: LD_INT 2
14832: PPUSH
14833: CALL_OW 322
// SetTech ( 49 , 5 , state_Researched ) ;
14837: LD_INT 49
14839: PPUSH
14840: LD_INT 5
14842: PPUSH
14843: LD_INT 2
14845: PPUSH
14846: CALL_OW 322
// SetTech ( 50 , 5 , state_Researched ) ;
14850: LD_INT 50
14852: PPUSH
14853: LD_INT 5
14855: PPUSH
14856: LD_INT 2
14858: PPUSH
14859: CALL_OW 322
// begin end ; end ; end_of_file
14863: PPOPN 2
14865: END
// export function medale ; var RusBase , AdditionalResources ; begin
14866: LD_INT 0
14868: PPUSH
14869: PPUSH
14870: PPUSH
// if IsDead ( DepotRU1 ) then
14871: LD_INT 57
14873: PPUSH
14874: CALL_OW 301
14878: IFFALSE 14912
// begin AddMedal ( med1 , 1 ) ;
14880: LD_STRING med1
14882: PPUSH
14883: LD_INT 1
14885: PPUSH
14886: CALL_OW 101
// RusBase := 1 ;
14890: LD_ADDR_VAR 0 2
14894: PUSH
14895: LD_INT 1
14897: ST_TO_ADDR
// SaveVariable ( RusBase , Attack_behind_08 ) ;
14898: LD_VAR 0 2
14902: PPUSH
14903: LD_STRING Attack_behind_08
14905: PPUSH
14906: CALL_OW 39
// end else
14910: GO 14943
// begin AddMedal ( med1 , - 1 ) ;
14912: LD_STRING med1
14914: PPUSH
14915: LD_INT 1
14917: NEG
14918: PPUSH
14919: CALL_OW 101
// RusBase := 2 ;
14923: LD_ADDR_VAR 0 2
14927: PUSH
14928: LD_INT 2
14930: ST_TO_ADDR
// SaveVariable ( RusBase , Attack_behind_08 ) ;
14931: LD_VAR 0 2
14935: PPUSH
14936: LD_STRING Attack_behind_08
14938: PPUSH
14939: CALL_OW 39
// end ; if Researched ( 4 , tech_AdvAI ) and Researched ( 4 , tech_AdvMet ) then
14943: LD_INT 4
14945: PPUSH
14946: LD_INT 27
14948: PPUSH
14949: CALL_OW 325
14953: PUSH
14954: LD_INT 4
14956: PPUSH
14957: LD_INT 34
14959: PPUSH
14960: CALL_OW 325
14964: AND
14965: IFFALSE 14979
// begin AddMedal ( med2 , 1 ) ;
14967: LD_STRING med2
14969: PPUSH
14970: LD_INT 1
14972: PPUSH
14973: CALL_OW 101
// end else
14977: GO 14990
// begin AddMedal ( med2 , - 1 ) ;
14979: LD_STRING med2
14981: PPUSH
14982: LD_INT 1
14984: NEG
14985: PPUSH
14986: CALL_OW 101
// end ; if GlobalMedal = true then
14990: LD_EXP 22
14994: PUSH
14995: LD_INT 1
14997: EQUAL
14998: IFFALSE 15032
// begin AddMedal ( med3 , 1 ) ;
15000: LD_STRING med3
15002: PPUSH
15003: LD_INT 1
15005: PPUSH
15006: CALL_OW 101
// AdditionalResources := 1 ;
15010: LD_ADDR_VAR 0 3
15014: PUSH
15015: LD_INT 1
15017: ST_TO_ADDR
// SaveVariable ( AdditionalResources , Additional_resources ) ;
15018: LD_VAR 0 3
15022: PPUSH
15023: LD_STRING Additional_resources
15025: PPUSH
15026: CALL_OW 39
// end else
15030: GO 15063
// begin AdditionalResources := 2 ;
15032: LD_ADDR_VAR 0 3
15036: PUSH
15037: LD_INT 2
15039: ST_TO_ADDR
// SaveVariable ( AdditionalResources , Additional_resources ) ;
15040: LD_VAR 0 3
15044: PPUSH
15045: LD_STRING Additional_resources
15047: PPUSH
15048: CALL_OW 39
// AddMedal ( med3 , - 1 ) ;
15052: LD_STRING med3
15054: PPUSH
15055: LD_INT 1
15057: NEG
15058: PPUSH
15059: CALL_OW 101
// end ; GiveMedals ( MAIN ) ;
15063: LD_STRING MAIN
15065: PPUSH
15066: CALL_OW 102
// end ; end_of_file
15070: LD_VAR 0 1
15074: RET
// every 0 0$1.5 do
15075: GO 15077
15077: DISABLE
// begin enable ;
15078: ENABLE
// SetResourceType ( GetBase ( depotAM2 ) , mat_cans , GetResourceType ( GetBase ( depotAM2 ) , mat_cans ) + 1 ) ;
15079: LD_INT 480
15081: PPUSH
15082: CALL_OW 274
15086: PPUSH
15087: LD_INT 1
15089: PPUSH
15090: LD_INT 480
15092: PPUSH
15093: CALL_OW 274
15097: PPUSH
15098: LD_INT 1
15100: PPUSH
15101: CALL_OW 275
15105: PUSH
15106: LD_INT 1
15108: PLUS
15109: PPUSH
15110: CALL_OW 277
// end ; end_of_file
15114: END
// export VehReq , strings ; every 0 0$01 trigger strings = true do
15115: LD_EXP 25
15119: PUSH
15120: LD_INT 1
15122: EQUAL
15123: IFFALSE 15167
15125: GO 15127
15127: DISABLE
// begin Display_Strings := [ #Am06-1 , GetResourceType ( GetBase ( depotAM2 ) , mat_cans ) , #Am06-2 , VehReq ] ;
15128: LD_ADDR_OWVAR 47
15132: PUSH
15133: LD_STRING #Am06-1
15135: PUSH
15136: LD_INT 480
15138: PPUSH
15139: CALL_OW 274
15143: PPUSH
15144: LD_INT 1
15146: PPUSH
15147: CALL_OW 275
15151: PUSH
15152: LD_STRING #Am06-2
15154: PUSH
15155: LD_EXP 24
15159: PUSH
15160: EMPTY
15161: LIST
15162: LIST
15163: LIST
15164: LIST
15165: ST_TO_ADDR
// enable ;
15166: ENABLE
// end ;
15167: END
// every 0 0$01 do
15168: GO 15170
15170: DISABLE
// begin enable ;
15171: ENABLE
// VehReq := FilterAllUnits ( [ [ f_side , 4 ] , [ f_type , unit_vehicle ] , [ f_or , [ f_control , control_manual ] , [ f_control , control_computer ] ] , [ f_or , [ f_weapon , us_double_gun ] , [ f_weapon , us_gatling_gun ] , [ f_weapon , us_heavy_gun ] , [ f_weapon , us_light_gun ] , [ f_weapon , us_machine_gun ] , [ f_weapon , us_rocket_launcher ] ] ] ) ;
15172: LD_ADDR_EXP 24
15176: PUSH
15177: LD_INT 22
15179: PUSH
15180: LD_INT 4
15182: PUSH
15183: EMPTY
15184: LIST
15185: LIST
15186: PUSH
15187: LD_INT 21
15189: PUSH
15190: LD_INT 2
15192: PUSH
15193: EMPTY
15194: LIST
15195: LIST
15196: PUSH
15197: LD_INT 2
15199: PUSH
15200: LD_INT 33
15202: PUSH
15203: LD_INT 1
15205: PUSH
15206: EMPTY
15207: LIST
15208: LIST
15209: PUSH
15210: LD_INT 33
15212: PUSH
15213: LD_INT 3
15215: PUSH
15216: EMPTY
15217: LIST
15218: LIST
15219: PUSH
15220: EMPTY
15221: LIST
15222: LIST
15223: LIST
15224: PUSH
15225: LD_INT 2
15227: PUSH
15228: LD_INT 34
15230: PUSH
15231: LD_INT 5
15233: PUSH
15234: EMPTY
15235: LIST
15236: LIST
15237: PUSH
15238: LD_INT 34
15240: PUSH
15241: LD_INT 4
15243: PUSH
15244: EMPTY
15245: LIST
15246: LIST
15247: PUSH
15248: LD_INT 34
15250: PUSH
15251: LD_INT 6
15253: PUSH
15254: EMPTY
15255: LIST
15256: LIST
15257: PUSH
15258: LD_INT 34
15260: PUSH
15261: LD_INT 3
15263: PUSH
15264: EMPTY
15265: LIST
15266: LIST
15267: PUSH
15268: LD_INT 34
15270: PUSH
15271: LD_INT 2
15273: PUSH
15274: EMPTY
15275: LIST
15276: LIST
15277: PUSH
15278: LD_INT 34
15280: PUSH
15281: LD_INT 7
15283: PUSH
15284: EMPTY
15285: LIST
15286: LIST
15287: PUSH
15288: EMPTY
15289: LIST
15290: LIST
15291: LIST
15292: LIST
15293: LIST
15294: LIST
15295: LIST
15296: PUSH
15297: EMPTY
15298: LIST
15299: LIST
15300: LIST
15301: LIST
15302: PPUSH
15303: CALL_OW 69
15307: ST_TO_ADDR
// end ; end_of_file
15308: END
// export Poj ; every 0 0$0.2 marked 10 do var i ;
15309: GO 15311
15311: DISABLE
15312: LD_INT 0
15314: PPUSH
// begin enable ;
15315: ENABLE
// for i in Poj do
15316: LD_ADDR_VAR 0 1
15320: PUSH
15321: LD_EXP 26
15325: PUSH
15326: FOR_IN
15327: IFFALSE 15358
// begin if GetLives ( i ) < 470 then
15329: LD_VAR 0 1
15333: PPUSH
15334: CALL_OW 256
15338: PUSH
15339: LD_INT 470
15341: LESS
15342: IFFALSE 15356
// begin SetLives ( i , 470 ) ;
15344: LD_VAR 0 1
15348: PPUSH
15349: LD_INT 470
15351: PPUSH
15352: CALL_OW 234
// end ; end ;
15356: GO 15326
15358: POP
15359: POP
// end ;
15360: PPOPN 1
15362: END
